invalidateOptionMenu()禁用工具栏菜单的单击功能 [英] invalidateOptionMenu() disables the clicking functionality of toolbar menu
问题描述
在我的电子商务应用程序中,我正在使用带有count textview的购物篮.在这里,为了更新购物车计数文本视图,在单击购物车导航下一个片段后,我使用了invalidateOptionMenu();
,这是行不通的.甚至我尝试了很多方法,但都没有用.请帮助我
In my eCommerce app, I am using cart basket with count textview. Here for updates the cart count textview I used invalidateOptionMenu();
after that the clicking of cart navigates next fragment is not working. Even I tried in many ways,but did not worked.Please help me
这是我的代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
badgeLayout = (RelativeLayout) menu.findItem(R.id.badge).getActionView(); /*-------Cart Basket with Counter---------*/
basketCount = (TextView) badgeLayout.findViewById(R.id.counter);
CommonUtil.dbUtil.open();
try {
MainActivity.basketCount.setText(String.valueOf(CommonUtil.dbUtil.getCartItem().getCount()));
} catch (Exception e) {
MainActivity.basketCount.setText(String.valueOf("0"));
}
badgeLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "Cart Clicked", Toast.LENGTH_SHORT).show();
/*
* menuItemClicked represents ToolBar OverFlow (...) menu is clicked.
* */
Config.menuItemClicked = true;
SharedPreferences.Editor editor = CommonUtil.pref.edit();
editor.putBoolean("cart_Clicked", Config.menuItemClicked);
editor.apply();
Intent next = new Intent(context, ProductActivity.class);
startActivity(next);
}
});
invalidateOptionsMenu();
return super.onCreateOptionsMenu(menu);
}
推荐答案
而不是在onCreateOptionsMenu()
中调用invalidateOptionMenu()
,而是在更新在basketCount
TextView
中设置的count value
时调用它
instead of calling invalidateOptionMenu()
inside your onCreateOptionsMenu()
you should call it when you are updating the count value
that you set in basketCount
TextView
.
在此呼叫invalidateOptionsMenu()
无济于事,因此,当您在购物车中添加商品时,应致电invalidateOptionsMenu()
.
Calling invalidateOptionsMenu()
is of no avail there, so when you add item to your cart at that you should call invalidateOptionsMenu()
.
这篇关于invalidateOptionMenu()禁用工具栏菜单的单击功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!