1. ホーム
  2. android

Android API < 11 のための invalidateOptionsMenu()

2023-09-03 14:12:48

質問

私は ActivityCompat.invalidateOptionsMenu(MainActivity.this); を使用して、メニュー項目 "refresh" が自動的に有効化/無効化されるようにします (ユーザーがメニューを開いたままにするとします...)。私は、"Refresh"メニュー項目が自動的に無効になったり有効になったりする必要があります)。

その ActivityCompat.invalidateOptionsMenu(MainActivity.this) はAndroid 11+では問題なく動作します。しかし、アンドロイドAPI < 11では何を使えばいいのでしょうか? :S たくさん探したのですが、答えが見つかりません。どなたか、この件に関して私を助けていただけませんか?

これは Android API 11+ で問題なく動作します。 onPrepareOptionsMenuActivityCompat.invalidateOptionsMenu(MainActivity.this) . 問題は、Android API < 11でそれを実現しようとしていることです。

以下は、私の onPrepareOptionsMenu メソッドです。

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    if(menuRefreshEnable){
        menu.getItem(0).setEnabled(true);
    }
    if(!menuRefreshEnable){
        menu.getItem(0).setEnabled(false);
    }       
    return true;
}

どのように解決するのですか?

以下の通りです。 API < 11 使用 supportInvalidateOptionsMenu() メソッド