繁体   English   中英

如何在更改 sharedpreferences 数据后自动更改 android menuItem 数据?

[英]How to automatically change android menuItem data after change sharedpreferences data?

我在我的应用程序和不同的片段和活动中有共享首选项,我更改了共享首选项数据。 但我有一个带有 integer 值的 menuItem。 因此,当 sharedpref 数据从任何活动更改/更新时,它应该被更新。

示例:它的总金额,例如如果用户从另一个活动/片段购买了一些产品,则应该更新价格。

此屏幕截图可以帮助您更好地理解。 https://prnt.sc/s26pl0

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.search_bar, menu);
        pointsMenuItem =menu.findItem(R.id.points); 
pointsMenuItem.setTitle(String.valueOf(SaveSharedPreference.getPoints(getApplicationContext())));
        pointsMenuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem menuItem) {
                pointsMenuItem.setTitle(String.valueOf(SaveSharedPreference.getPoints(getApplicationContext())));
                return false;
            }
        });

        return true;
    }

当用户点击购买项目后(共享偏好值更新)添加invalidateOptionsMenu()方法

invalidateOptionsMenu()将强制重新加载 onCreateOptionsMenu

希望这可以帮助你...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM