我有2项活动。第一个活动的工具栏菜单为Cart.And值的增加或减少取决于购物车数量。下一个活动fragmnet具有购物车功能。我们可以删除购物车产品。
让我们考虑一下图像:
答案 0 :(得分:2)
在First Activity的onRestart
方法检查购物车项目计数(如增加或减少)中调用onPrepareOptionmenu
方法来更新计数(确保您的计数在第一次活动之前更新) 。你必须保持tempcount和实际数量。希望你明白!
答案 1 :(得分:1)
您可以通过片段类中的((YourHomeActivity)getActivity())获取活动参考。使工具栏变量公开,并通过对updatr它的活动参考来访问它。
答案 2 :(得分:1)
您可以做的一件事是使用Sharepreference存储购物车的价值,以便更改所有活动并将代码放入onResume()方法
答案 3 :(得分:1)
我使用invalidateOptionsMenu();
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
badgeLayout = (RelativeLayout) menu.findItem(R.id.badge).getActionView(); /*-------Cart Basket with Counter---------*/
mCounter = (TextView) badgeLayout.findViewById(R.id.counter);
CommonUtil.dbUtil.open();
MainFragmentAdapter.CART_COUNT = String.valueOf(CommonUtil.dbUtil.getCartItem().getCount());
MainActivity.mCounter.setText(MainFragmentAdapter.CART_COUNT);
invalidateOptionsMenu();
badgeLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
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);
}
});
return super.onCreateOptionsMenu(menu);
}