嗨在我的应用程序中,我在操作栏上添加了一个名为“添加到收藏夹”的白色星形图标。当用户点击它时,这个图标变得消失,其他黄色星出现...这很好..但问题是,当我切换到另一个活动或当我再次重新启动我的应用程序时,我看到白色最喜欢的星形图标和之前事件已经丢失。我怎样才能保存这个状态。我尝试了saveInstanceState但没有用.. 这是我的代码。
On PrepareOptionMenu (Menu menu){
If (favClicked){
menu.finditem (R.id.id_favorite).setvisible (false);
menu.finditem (R.id.id_favorite 2). setvisible (true);
}
else if (! favClicked){
menu.finditem ( R.id.id_favorite).setvisible (true);
menu.finditem (R.id.id_favorite 2).setvisible (false);
}
return super . onPrepareOptionMenu (menu);
}
@Override
protected void onRestoreInstanceState (Bundle saveInstanceState){
super.onRestoreInstanceState (saveInstanceState);
favClicked=saveInstanceState. getBoolean ("favClicked")
}
然后我使用恢复状态方法,就像使用SAVEINSTANCE状态一样......但是它的剂量对我有效。
答案 0 :(得分:0)
您需要存储您已经喜欢的地方(数据库或您选择的方法)。
创建该过程后,在onStart()上显示另一个项目时,检查当前项目是否被收藏,并相应地设置menuItem。
我认为在这种情况下保存实例状态没有任何用处。