2 つのフラグメントを持つアクティビティがあります。どちらも ListFragments であり、MenuItems を Menu に提供します。android:showAsAction 属性を設定して ActionBar のボタンとして表示する MenuItem が 1 つあります。これはうまくいきます。
現在、MenuItem は状態に依存しています。これは、キューを一時停止および再開するための一時停止/再開メニュー オプションです。私の問題は、フラグメントが作成されたときに初期像を設定する方法がわからないことです。
その状態は、キューが一時停止されているかどうかによって異なります。したがって、キューを取得し、キューの状態に基づいてブール値 (一時停止) を設定する AsyncTask があります。onPrepareOptionsMenu を呼び出して、キューの最後の既知の状態に基づいて一時停止メニュー項目のテキストを設定しています。実際のメニューに MenuItem を残すと、これはうまく機能します。メニュー アイコンをタップすると、onPrepareOptionsMenu が起動され、メニューが表示される前に更新されます。
問題は、同じ MenuItem を ActionBar (showAsAction) に配置した場合、onPrepareOptionsMenu を呼び出さずに強制的に更新するにはどうすればよいですか? アプリの最初の起動時にキューを取得するリクエストを送信するため、これを行う必要がありますが、ActionBar がセットアップされて表示された後にタスクが返されます。キューの更新を取得するたびに呼び出されるハンドラーをフラグメントに作成しましたが、そこから、ActionBar の MenuItem のテキストを更新するにはどうすればよいですか? onPrepareOptionMenu を除いて、現在設定されているメニューを操作する方法を見つけることができないようです。
ロブ W.