我正在处理电子商务任务,我想在单击按钮时将项目添加到购物车 Add To Cart
当我单击需要添加到购物车的按钮并查看 badger 时需要递增。
所以我想在 Fragment
中执行这个操作,如果你不明白我的问题然后看看快照你就会明白我想问什么?
那么我如何使用 Fragments
执行此操作并增加 View badger。谢谢
最佳答案
请尝试以下解决方案,如果您仍然有问题,请告诉我,我会将示例发送给您。
private int count = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button increaseButton = (Button) findViewById(R.id.increaseButton);
increaseButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
doIncrease();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
MenuItem menuItem = menu.findItem(R.id.testAction);
menuItem.setIcon(buildCounterDrawable(count, R.drawable.ic_menu_gallery));
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
private Drawable buildCounterDrawable(int count, int backgroundImageId) {
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.counter_menuitem_layout, null);
view.setBackgroundResource(backgroundImageId);
if (count == 0) {
View counterTextPanel = view.findViewById(R.id.counterValuePanel);
counterTextPanel.setVisibility(View.GONE);
} else {
TextView textView = (TextView) view.findViewById(R.id.count);
textView.setText("" + count);
}
view.measure(
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
view.setDrawingCacheEnabled(true);
view.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
Bitmap bitmap = Bitmap.createBitmap(view.getDrawingCache());
view.setDrawingCacheEnabled(false);
return new BitmapDrawable(getResources(), bitmap);
}
private void doIncrease() {
count++;
invalidateOptionsMenu();
}
关于android - 使用 fragment 单击按钮时增加操作栏 View Badger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37132079/