当按下一个项目(在RecyclerView
中)中的移动按钮时,如何更新操作栏中的项目计数?
我的WishlistActivity
类
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wishlist);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
dbHelper = new DatabaseHelper(this);
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle("Wishlist");
toolbar.setTitleTextColor(Color.WHITE);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
wishlistRecycler = (RecyclerView) findViewById(R.id.wishlist_recycler);
GridLayoutManager layoutManager = new GridLayoutManager(this,2,GridLayoutManager.VERTICAL,false);
wishlistRecycler.setLayoutManager(layoutManager);
wishlistRecycler.addItemDecoration(new Space(2,20,true,0));
adapter = new wishlistAdapter(itemsWish,getApplicationContext(),cartCounter);
wishlistRecycler.setAdapter(adapter);
wish_count = dbHelper.getWishCount();
emptyLayout = (RelativeLayout) findViewById(R.id.emptyWishLayout);
wishLayout = (RelativeLayout) findViewById(R.id.wishLayout);
contShopp = (Button) findViewById(R.id.continueShope);
cartCounter = new MoveWishlistToCart() {
@Override
public void setCounter(int count) {
Toast.makeText(WishlistActivity.this, "Called", Toast.LENGTH_SHORT).show();
Log.d("Log","cartCounter: "+count);
}
};
我的wishlistAdapter类
public wishlistAdapter(List<WishlistItems> wishItems, Context context, MoveWishlistToCart cartCounter) {
this.wishItems = wishItems;
this.context = context;
this.cartCounter = cartCounter;
}
@NonNull
@Override
public myViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View rootView;
rootView = LayoutInflater.from(context).inflate(R.layout.wish_list,null,false);
return new myViewHolder(rootView);
}
@Override
public void onBindViewHolder(@NonNull myViewHolder holder, final int position) {
WishlistItems wishlistItems = wishItems.get(position);
dbHelper = new DatabaseHelper(context);
wish_sku = wishlistItems.getWishItemSku();
price = wishlistItems.getWishItemPrice();
sCount = dbHelper.getCountTotal();
holder.textBrandName.setText(wishlistItems.getWishItemBrandName());
holder.textPrice.setText("₹"+wishlistItems.getWishItemPrice());
String imageUrl = wishItems.get(position).getWishImage();
Picasso.with(context).load("http://www.app.ssmkanmanam.com/public/images/"+imageUrl).into(holder.mImageview);
holder.mRemove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Toast.makeText(activity, "Hii", Toast.LENGTH_SHORT).show();
removeFromWishlistDb(position);
wishItems.remove(position);
notifyDataSetChanged();
}
});
holder.textMoveToBag.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
removeFromWishlistDb(position);
wishItems.remove(position);
notifyDataSetChanged();
moveToCartDb();
cartCounter.setCounter(1);
}
});
}
我的接口类
public interface MoveWishlistToCart {
public void setCounter(int count);
}
发布于 2018-06-29 04:01:02
之所以会发生这种情况,是因为最初您向适配器传递了一个空的MoveWishlistToCart
,然后在初始化它之后。移动代码:
cartCounter = new MoveWishlistToCart() {
@Override
public void setCounter(int count) {
Toast.makeText(WishlistActivity.this, "Called", Toast.LENGTH_SHORT).show();
Log.d("Log","cartCounter: "+count);
}
};
在这条线上:
adapter = new wishlistAdapter(itemsWish,getApplicationContext(),cartCounter);
https://stackoverflow.com/questions/51090349
复制相似问题