Android invalidateOptionsMenu() for API < 11

android, menu

Solution

On `API < 11` use `supportInvalidateOptionsMenu()` method

Problem

I used `ActivityCompat.invalidateOptionsMenu(MainActivity.this);` so that my menu item "refresh" can automatically be enabled/disabled without the using have to touch the "Menu" option (imagine the user leaves the Menu open... I need the "Refresh" menu item to automatically disabled and enable itself). The `ActivityCompat.invalidateOptionsMenu(MainActivity.this)` works fine in Android 11+. But what can I use for android API < 11 ? :S I've searched so much but I cannot find an answer. Can anyone please help me on this? This works fine in Android API 11+, using the `onPrepareOptionsMenu` and `ActivityCompat.invalidateOptionsMenu(MainActivity.this)`. The issue is trying to get it done in Android API < 11. Here is my `onPrepareOptionsMenu` method: ``` @Override public boolean onPrepareOptionsMenu(Menu menu) { if(menuRefreshEnable){ menu.getItem(0).setEnabled(true); } if(!menuRefreshEnable){ menu.getItem(0).setEnabled(false); } return true; } ```

Original source

Related problems