【发布时间】:2014-12-16 10:14:25
【问题描述】:
我正在创建一个包含 2 个片段的活动。我正在为每个片段实现不同的菜单项。但我有一个问题。我的错误顺序:
- 选项卡 1 - 片段 1 -> 菜单的操作栏上没有按钮
- 选项卡 2 - 片段 2 -> 菜单显示正确
- 选项卡 1 - 片段 1 -> 显示菜单
在我经过片段 2 并返回片段 1 之前,我的 ActionBar 图标不会显示。我的错误可能是什么?谢谢
片段 1
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_listado, container, false);
declararObjetos();
iniciarBaseDatos();
sonidos();
cargarLocalizacion();
reiniciarListview();
pintarElementos();
setHasOptionsMenu(true);
Modulo.getOverflowMenu(getActivity());
ActivityCompat.invalidateOptionsMenu((Activity) context);
return rootView;
}
public void onPrepareOptionsMenu(Menu menu) {
menuItemActualizarLista = menu.findItem(R.id.menuOpcActualizarLista);
menuItemBuscar = menu.findItem(R.id.menuOpcBuscar);
menuItemActualizarLista.setVisible(true);
menuItemBuscar.setVisible(true);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menuOpcActualizarLista:
reiniciarListview();
return true;
case R.id.menuOpcBuscar:
cargarBuscar();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
菜单
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menuOpcActualizarLista"
android:visible="false"/>
<item
android:id="@+id/menuOpcBuscar"
android:icon="@drawable/icono_lupa"
android:visible="false"
android:showAsAction="always" />
</menu>
【问题讨论】:
-
这个片段是什么?片段 1 还是 2?
-
我没有看到菜单膨胀..
onCreateOptionsMenu在哪里? -
我不使用 onCreateOptionsMenu,因为我的菜单到现在都可以正常工作
-
也尝试将
ActivityCompat.invalidateOptionsMenu((Activity) context);更改为onActivityCreated -
你能把onActivityCreated的所有代码都显示出来吗?
标签: android menu tabs fragment