Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.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
Android 图标设置可见复制菜单_Android_Android Actionbar_Actionbarsherlock - Fatal编程技术网

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;
}