アプリでメニュー項目が消えます。
最初に、次のようにメニュー項目を作成しました。しかし、一部の 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);
}