Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tạo chế độ xem danh sách yêu thích với các tùy chọn được chia sẻ

Có hai vấn đề ở đây (dựa trên dự án của bạn)

Đầu tiên ( lưu trạng thái của Bookmark Imageview )

Trong bộ điều hợp, hãy tạo một phương thức để kiểm tra xem một sản phẩm cụ thể có tồn tại trong SharedPreferences hay không

    public boolean checkFavoriteItem(Product checkProduct) {
    boolean check = false;
    List<Product> favorites = sharedPreference.getFavorites(null, mContext);
    if (favorites != null) {
        for (Product product : favorites) {
            if (product.equals(checkProduct)) {
                check = true;
                break;
            }
        }
    }
    return check;
}

Bên trong bộ điều hợp kiểm tra xem một sản phẩm có tồn tại trong các tùy chọn được chia sẻ hay không, sau đó đặt được đánh dấu trang có thể vẽ và đặt thẻ

if (checkFavoriteItem(product)) {
        holder.favoriteImg.setImageResource(R.mipmap.bookmarked);
        holder.favoriteImg.setTag("bookmarked");
    } else {
        holder.favoriteImg.setImageResource(R.mipmap.bookmark_border);
        holder.favoriteImg.setTag("bookmark_border");
    }

Sau đó, bên trong phương thức gọi lại favOnClick

    @Override
    public boolean favOnClick(int position ,View v) {
        Product product = (Product) productList.get(position);
        ImageView button = (ImageView) v.findViewById(R.id.favImage);
        String tag = button.getTag().toString();
        if (tag.equalsIgnoreCase("bookmark_border")) {
            sharedPreference.addFavorite(activity,product);
            Toast.makeText(activity,"Added to Favorites",Toast.LENGTH_SHORT).show();
            button.setTag("bookmarked");
            button.setImageResource(R.mipmap.bookmarked);
        } else {
            sharedPreference.removeFavorite(activity,product);
            button.setTag("bookmark_border");
            button.setImageResource(R.mipmap.bookmark_border);
            Toast.makeText(activity,"Removed from Favorites",Toast.LENGTH_SHORT).show();
        }
        return true;
        }

Thứ hai ( nhận sản phẩm yêu thích và chuyển sản phẩm đó vào Phân đoạn "YÊU THÍCH" )

Bên trong phương thức getFavorite, hãy thêm một tham số Chuỗi Sau đó, trong Phân đoạn "YÊU THÍCH" của bạn với processFinish (AsyncResponse của bạn) gọi getFavorite của bạn để nhận danh sách sản phẩm Yêu thích của bạn, sau đó đặt bộ điều hợp của bạn:

Context mContext;
`mContext = getContext();`

@Override
public void  processFinish(String s) {
    productList = sharedPreference.getFavorites(s, mContext);

    BindDictionary<Product> dict = new BindDictionary<Product>();
    dict.addStringField(R.id.tvName, new StringExtractor<Product>() {
        @Override
        public String getStringValue(Product product, int position) {
            return product.name;
        }
    });


    dict.addStringField(R.id.tvDescription, new StringExtractor<Product>() {
        @Override
        public String getStringValue(Product product, int position) {
            return product.description;

        }
    });


    dict.addStringField(R.id.tvQty, new StringExtractor<Product>() {
        @Override
        public String getStringValue(Product product, int position) {
            return "" + product.qty;

        }
    });


    adapter = new FunDapter<>(getActivity(), productList, R.layout.d_layout_list_d, dict);
    lvProduct.setAdapter(adapter);

}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL hệ thống đặt phòng khách sạn:xác định bất kỳ phòng nào còn trống trong phạm vi ngày

  2. mysql export sql dump theo thứ tự bảng chữ cái, điều này gây ra lỗi ràng buộc khóa ngoại trong quá trình nhập

  3. kết hợp truy vấn mysql kết quả SUM () bằng cách sử dụng kết nối bên trong

  4. Thay thế chuỗi MySQL

  5. Làm cách nào để hiển thị dữ liệu từ mysql bằng PHP angle.js?