我已经动态更改了菜单项,但当应用重新启动时,它会更改回默认图标。如何永久更改该图标?
案例R.id.action_bookmark:
String isBookmark=data.getBookmark();
if(isBookmark.equals("false")) {
NewsModel newsModel=items.get(getAdapterPosition());
newsModel.setBookmark("true");
ContentValues values = newsModel.getContentValues();
NewsTable.getInstance().updateEntry(newsModel.getId(),values);
item.setIcon(R.drawable.star);
notifyDataSetChanged();
}
else{
NewsModel newsModel=items.get(getAdapterPosition());
newsModel.setBookmark("false");
ContentValues values = newsModel.getContentValues();
NewsTable.getInstance().updateEntry(newsModel.getId(),values);
item.setIcon(R.drawable.ic_bookmark_white_24dp);
notifyDataSetChanged();
}
答案 0 :(得分:0)
使用SharedPreferences
中的onPause()
保存该项目的状态。然后,每个onResume()
都会读取SharedPreferences
SharedPreferences sp = getSharedPreferences("program", MODE_PRIVATE);
if (sp.getString("key", "null").equals("item1")) {
getMenuInflater().inflate(R.menu.menu, menu);
setOptionIcon(menu.findItem(R.id.action_1),R.drawable.one);
}else{
setOptionIcon(menu.findItem(R.id.action_2),R.drawable.two);
}