2013年1月13日日曜日

onCreateOptionsMenuが呼び出されない

onCreateOptionsMenuが呼び出されない
onCreateOptionsMenu is not called in 4.0

標題については次のサイトで議論されている。
Options menu not showing in ICS using compatibility library
Android3.0以降 onCreateOptionsMenuが呼び出されない

これらのサイトで書かれているように、AndroidManifest.xmlファイルでTheme関連を全て削除したが、引き続き問題は発生し続けた。

私のプログラムのonCreateメソッドには次の一文があった。
requestWindowFeature(Window.FEATURE_NO_TITLE);
これを削除すると問題が解決した。

これを削除した場合であっても、AndroidManifest.xmlファイルでThemeが設定されていると問題は発生する。
AndroidManifest.xmlファイルでThemeを設定したい場合には次の一文を追加すれば良い。
requestWindowFeature(Window.FEATURE_ACTION_BAR);

以上を整理すると、onCreateメソッドにおいて次のように書けば良い。
public void onCreate(Bundle icicle){
    super.onCreate(icicle);
    if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.ICE_CREAM_SANDWICH){
        requestWindowFeature(Window.FEATURE_ACTION_BAR);
    }
    else{
        requestWindowFeature(Window.FEATURE_NO_TITLE);
    }
    setContentView(R.layout.inputbyhand);

参考にしたサイト

0 件のコメント:

コメントを投稿