154

ブレークポイントを 2onCreateつ (メソッドの最初と最後に 1 つ) 配置し、onCreateOptionsMenu. onCreateメソッドが最初に呼び出され、終了する前にがonCreateOptionsMenu呼び出されます。

アプリでナビゲーション コードを分離しようとしているので、アプリが電話/タブレットで実行されているかどうかに応じてFragment委任するオブジェクトがいくつかあります(これを決定するために画面サイズを使用しています。onCreateOptionsMenu大画面には、レイアウトが膨張した後に確認する View があります)。私が抱えている問題は、onCreate でこれらのオブジェクトを作成し、onCreateOptionsMenu.

4

6 に答える 6

113

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

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

(これを決定するために画面サイズを使用しています。大画面用のレイアウト ファイルには、レイアウトが膨張した後に確認する View があります)

Ice Cream Sandwich が出荷されると、そのテストはまもなく中断されます。私が知る限り、ICS フォンにはアクション バーが表示されます (ただし、システム バーは表示されない可能性があります)。

于 2011-10-09T21:15:22.930 に答える
58

私の場合、Android 2.3 とFragmentActivityv4-support ライブラリからのライフサイクル メソッド呼び出しの順序は次のとおりです。

07-18 18:29:21.629  20183-20183/? I/onCreate:
07-18 18:29:21.719  20183-20183/? I/onStart: 
07-18 18:29:21.719  20183-20183/? I/onResume: 
07-18 18:29:21.739  20183-20183/? I/onCreateOptionsMenu:
于 2013-07-18T15:33:31.633 に答える
21

上記の回答に加えて、ICS と Honeycomb の場合、onCreateOptionsMenu は onCreate と onPostCreate の後に呼び出されますが、Gingerbread 以前のバージョンでは onCreate の後、onPostCreate の前に呼び出されます。それが私が見つけた唯一の違いです。

于 2012-05-11T07:53:21.963 に答える