Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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 使用实现ActionBar.TabListener的FragmentActivity编辑ActionBar_Java_Android_Xml_Android Fragments_Android Actionbar - Fatal编程技术网

Java 使用实现ActionBar.TabListener的FragmentActivity编辑ActionBar

Java 使用实现ActionBar.TabListener的FragmentActivity编辑ActionBar,java,android,xml,android-fragments,android-actionbar,Java,Android,Xml,Android Fragments,Android Actionbar,在我的android应用程序中,我试图在我的FragmentActivity中向ActionBar添加图标;然而,它仍然是空白的 我希望actionbar具有block.xml中的两个图标 <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://sch

在我的android应用程序中,我试图在我的FragmentActivity中向ActionBar添加图标;然而,它仍然是空白的

我希望actionbar具有block.xml中的两个图标

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:tools="http://schemas.android.com/tools"

      tools:context=".SetupActivity" >



    <item android:id="@+id/action_overflow"
          android:title="@string/action_settings"
          android:orderInCategory="100"
          android:icon="@drawable/ic_action_overflow"
          app:showAsAction="always" />

    <item android:id="@+id/action_search"
          android:title="@string/search"
          android:orderInCategory="200"
          android:icon="@drawable/ic_action_search"
          app:showAsAction="always" />
</menu>
是否应该在单独的片段中实现OnCreateOptions菜单

您没有调用super.onCreateOptions菜单;在您的内部,onCreateOptions菜单方法,因此它保持空白

解决方案:

此外,还要添加以下内容:

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    return super.onPrepareOptionsMenu(menu);
}
同时添加操作:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.action_overflow) {
        return true;
    } else if(id == R.id.action_search) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

@XiaoPin已编辑将上述代码添加到您的Actovoit中它仍然没有显示是否OnCreateOptions菜单中仍存在问题?@XiaoPin我不这么认为,但请尝试添加所选的选项。和更新我,请参阅上面的编辑我为麻烦道歉,但操作栏图标仍然不会display@XiJiaopin你能贴张照片吗?
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    return super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.action_overflow) {
        return true;
    } else if(id == R.id.action_search) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}