Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法保存以前的菜单项状态_Java_Android_Eclipse - Fatal编程技术网

Java 无法保存以前的菜单项状态

Java 无法保存以前的菜单项状态,java,android,eclipse,Java,Android,Eclipse,您好,在我的应用程序中,我在操作栏上添加了一个名为“添加到收藏夹”的菜单项,该菜单项由白星图标显示。当用户点击该图标时,该图标消失,其他黄色星星出现……这很好……但问题是,当我切换到另一个活动或重新启动应用程序时,我看到白色最喜爱的星星图标和上一个事件已丢失。我怎样才能保存这个状态。我尝试了saveInstanceState,但没有用。。 这是我的密码 On PrepareOptionMenu (Menu menu){ If (favClicked){ menu.finditem (R.id.i

您好,在我的应用程序中,我在操作栏上添加了一个名为“添加到收藏夹”的菜单项,该菜单项由白星图标显示。当用户点击该图标时,该图标消失,其他黄色星星出现……这很好……但问题是,当我切换到另一个活动或重新启动应用程序时,我看到白色最喜爱的星星图标和上一个事件已丢失。我怎样才能保存这个状态。我尝试了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")
}

然后我使用RESTOREINSTACESTATE方法,与SAVEINSTANCE方法相同……但它对我不起作用。

您需要将您已经喜欢的内容存储在某个地方(数据库或您选择的方法)

创建该过程后,在onStart()上显示另一项时,检查当前项是否受欢迎,并相应地设置菜单项


我认为保存实例状态在这种情况下没有任何用处。

那么我如何开始数据库保存..我正在使用dbadapter存储收藏夹列表…我如何在数据库中存储menuitem clicked事件?您不必存储menuitems,您必须查询数据库以查看主题是否在收藏夹列表中……您能提供代码吗?我应该在dbadapter中执行什么操作?我希望当我将可见性更改为隐藏一个菜单项并通过“活动”显示另一个菜单项时,它将保留或保存可见性选项。但在重新启动应用程序或更改应用程序的方向后,可见性会再次恢复到初始状态,并且不会按我的要求保存。我想保存可见性选项,这正是我想要的。