观书散遗帙,探古穷至妙。这篇文章主要讲述如何在改变sharedpreferences数据后自动改变android menuItem数据?相关的知识,希望能为你提供帮助。
我的应用程序上有sharedpreferences&
从不同的片段和活动中,我改变了sharedpreferences数据。但是我有一个menuItem是一个整数的值。所以当sharedpref数据从任何活动中被改变时,它应该被更新。
例如:它是一个总金额,就像如果用户从另一个活动片段中购买一些产品,价格应该被更新。
这个截图可以帮助你更好的理解。https:/prnt.cs26pl0
@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;
}
答案【如何在改变sharedpreferences数据后自动改变android menuItem数据()】当用户点击购买项目后(sharedpreferences值更新),添加以下内容
invalidateOptionsMenu()
办法invalidateOptionsMenu() 将强制重载onCreateOptionsMenu。
希望对你有所帮助...
推荐阅读
- Cydia Appstore的Cydia App部署
- 从pandas apply()返回多列。
- RenderScript在Android 6上崩溃
- 如何在OncreateMethod中同时使用AppCompatActivity和Activity类[重复]。
- 我可以在Aws AppSync解析器映射模板中对用户输入进行消毒吗()
- 在安卓系统中,我不能在viewholder中设置图片。
- Android FusedLocationProviderClient.requestLocationUpdates()返回相同的位置坐标。
- 无法获得Android系统中googlemap V2上标记的自定义信息窗口的点击事件。
- 在AppleScript中,在标记后面取X符号并保存到变量中。