android - 使用 fragment 单击按钮时增加操作栏 View Badger

标签 android android-fragments cart

我正在处理电子商务任务,我想在单击按钮时将项目添加到购物车 Add To Cart 当我单击需要添加到购物车的按钮并查看 badger 时需要递增。

所以我想在 Fragment 中执行这个操作,如果你不明白我的问题然后看看快照你就会明白我想问什么?

当购物车中没有商品时- enter image description here

当我点击添加到购物车中的按钮购物车项目时,它显示如下.. enter image description here

那么我如何使用 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/

相关文章:

android - 为 Adwhirl 添加测试设备

android - 如何使用 MediaSessionCompat?

java - 使用 NexusDialog 在 fragment 中创建自定义元素

android - 无法动态更改自定义 DialogFragment 布局

java - 使用链表添加多个项目,JAVA

android - 从 Azure 获取结果,插入一行并在插入 Azure 数据库后从本地数据库删除行数据

Android:如何将数据从父 fragment 发送到子 fragment

wordpress - 如何排除将特定产品 ID 添加到 WooCommerce 中的数组中

php - 在 Woocommerce 3 中更改购物车商品价格

android - 与 MediaPlayer 一起使用后如何清除 SurfaceTexture?