Android メニュー アイコンに関する奇妙な動作を見つけました。onCreateOptionsMenu でアイコンを追加すると
setVisible(false)
アイコンは表示されず、電話しても表示されません
setVisible(true)
後の電話で。私の例を見てください:
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
...
entryOne = menu.add("menuOne");
entryOne.setIcon(...);
entryOne.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
entryOne.setVisible(false);
entryTwo = menu.add("menuTwo");
entryTwo.setIcon(...);
entryTwo.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
entryTwo.setVisible(false);
// entryThree = menu.add("menuThree");
// entryThree.setIcon(...);
// entryThree.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
// entryThree.setVisible(true);
super.onCreateOptionsMenu(menu, inflater);
}
...
public void onItemClick(...) {
...
entryOne.setVisible(true);
entryTwo.setVisible(true);
...
}
もちろん設定しました
setHasOptionsMenu(true);
奇妙なことに、 onCreateOptionsMenuの最後の行のコメントを外すと、すべて問題ありません。
<uses-sdk android:minSdkVersion="11"
android:targetSdkVersion="14" />
これはバグですか、それとも何か間違っていますか?