Android 图标设置可见复制菜单
在我的操作栏中,我有两个菜单项:Android 图标设置可见复制菜单,android,android-actionbar,actionbarsherlock,Android,Android Actionbar,Actionbarsherlock,在我的操作栏中,我有两个菜单项: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/refresh" android:title="Refresh" android:icon="@drawable/refresh"
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/refresh"
android:title="Refresh"
android:icon="@drawable/refresh"
android:showAsAction="ifRoom" >
</item>
<item android:id="@+id/back"
android:title="Back"
android:icon="@drawable/back"
android:showAsAction="ifRoom" >
</item>
</menu>
有人知道如何继续吗?你可以阅读
在运行时更改菜单项
创建活动后
调用onCreateOptionsMenu()方法
仅一次,如上所述。这个
系统保留并重新使用您选择的菜单
在此方法中定义,直到
活动被破坏。如果你想
之后随时更改选项菜单
它是第一次创建的,您必须覆盖它
onPrepareOptions菜单()方法。
这将按原样传递菜单对象
目前存在。这是有用的,如果
您想删除、添加、禁用或删除
启用菜单项,具体取决于
应用程序的当前状态
例如
有一个调用的方法,每次在显示菜单之前,即调用之前,都会调用该方法。您可以使用活动的方法触发选项菜单的重画。
因此,考虑到某些条件,您可以轻松地重新创建菜单
这里有一些代码。定义两个布尔值作为类的字段,例如:
private boolean showRefresh;
private boolean showBack;
覆盖onprepareOptions菜单()
方法,并根据相应的布尔值设置菜单项的可见性:
@Override
public boolean onPrepareOptionsMenu( Menu menu ) {
super.onPrepareOptionsMenu( menu );
menu.findItem( R.id.refresh ).setVisible( showRefresh );
menu.findItem( R.id.back ).setVisible( showBack );
return true;
}
否每次要更改某个菜单项的可见性时,请相应地设置相应的布尔值
,并调用无效选项菜单()
方法。因此,当我运行“活动”时,“刷新”项将不可见。我想知道,只有在执行某些功能时,如何才能使其不可见。对不起,我对java很在行。太棒了!谢谢你帮助我!
private boolean showRefresh;
private boolean showBack;
@Override
public boolean onPrepareOptionsMenu( Menu menu ) {
super.onPrepareOptionsMenu( menu );
menu.findItem( R.id.refresh ).setVisible( showRefresh );
menu.findItem( R.id.back ).setVisible( showBack );
return true;
}