1. ホーム
  2. android

[解決済み] Androidです。ActivityのライフサイクルでonCreateOptionsMenuが呼ばれるのはいつですか?

2022-04-27 21:42:49

質問

にいくつかのブレイクポイントを設定しました。 onCreate (メソッドの最初と最後に1つずつ)、そしてもう1つは onCreateOptionsMenu . その onCreate メソッドが最初に呼び出され、それが終了する前に onCreateOptionsMenu が呼び出されます。

を分離するようにしています。 Fragment ナビゲーションのコードを作成するため、いくつかのオブジェクトに onCreateOptionsMenu アプリが携帯電話やタブレットで実行されているかどうかによって、アプリの画面サイズを決定します(画面サイズを使ってこれを決定しており、大画面用のレイアウトファイルには、レイアウトが膨らんだ後にチェックするビューがあります)。問題は、onCreateでこれらのオブジェクトを作成する際に、Nullポインタの例外が発生することです。 onCreateOptionsMenu .

解決方法は?

<ブロッククオート

onCreateメソッドが最初に呼ばれ、それが終了する前にonCreateOptionsMenuが呼ばれます。

これは、公式のハニカムスタイルのアクションバーがあるデバイスとアプリに当てはまります。アクションバーがない場合。 onCreateOptionsMenu() ユーザーがメニューを呼び出すまで(通常はMENUボタンを押す)、呼び出されることはありません。

<ブロッククオート

(画面サイズで判断しています。大画面用のレイアウトファイルには、レイアウトを膨らませた後にチェックするViewがあります)

このテストは、Ice Cream Sandwichが出荷されたら、まもなく壊れるでしょう。私の知る限り、ICS携帯にはアクションバーがあります(システムバーではないかもしれませんが)。