0

菜单项在我的应用程序中消失。

最初我创建的菜单项如下。但在某些 android 版本中菜单消失了。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    TabHelper tabHelper = getTabHelper();
    CompatTab menuTab = tabHelper.newTab("menu").setText(
        R.string.tab_section1).setIcon(R.drawable.home_icon).setTabListener(
        new InstantiatingTabListener(this, MenuFragment.class));
    tabHelper.addTab(menuTab);
    CompatTab favTab = tabHelper.newTab("favourites").setText(
        R.string.tab_section2).setIcon(R.drawable.favourites_icon).setTabListener(
        new InstantiatingTabListener(this, FavouritesFragment.class));
    tabHelper.addTab(favTab);
}

上面的代码在最新的 Android 4.1.3 中运行良好,但在 4.0.1 和 4.0.3 中无法显示似乎是一些布局问题。

为了解决我添加了菜单 xml 如下

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menuhome"
    android:icon="@drawable/map_icon"
    android:title="@string/tab_section1"
    android:orderInCategory="1"
    android:showAsAction="always|withText" />
 <item android:id="@+id/menumap"
    android:icon="@drawable/map_icon"
    android:title="@string/tab_section2"
    android:orderInCategory="2"
    android:showAsAction="always|withText" />

并添加 onOptionItemSelected 如下

   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.menuhome:
            finish();
            return true;
        case R.id.menumap:

             //ERROR
             //HOW CAN I CALL FRAGMENT HERE.?

            break;
        default:
            break;
    }
    return super.onOptionsItemSelected(item);
}
4

0 回答 0