安卓invalidateOptionsMenu()的API< 11 [英] Android invalidateOptionsMenu() for API < 11

查看:252
本文介绍了安卓invalidateOptionsMenu()的API< 11的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用 ActivityCompat.invalidateOptionsMenu(MainActivity.this); 让我的菜单项刷新可以自动开启/关闭,而不使用有触摸菜单选项(想象一下当用户离开菜单打开...我需要刷新菜单项,自动禁用和启用本身)。

ActivityCompat.invalidateOptionsMenu(MainActivity.this)工作正常的Andr​​oid 11+。但我可以用什么为Android API< 11? :•我已经搜查了这么多,但我无法找到答案。任何人都可以请帮我在这?

这工作正常,在Android的API 11+,使用在prepareOptionsMenu ActivityCompat.invalidateOptionsMenu(MainActivity.this)。 这个问题是试图让它在Android的API&LT完成的; 11。

下面是我的在prepareOptionsMenu 方法:

  @覆盖
公共布尔prepareOptionsMenu(功能菜单)在{
    如果(menu​​RefreshEnable){
        menu.getItem(0).setEnabled(真正的);
    }
    如果(!menuRefreshEnable){
        menu.getItem(0).setEnabled(假);
    }
    返回true;
}
 

解决方案

API< 11 使用 supportInvalidateOptionsMenu()方法

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;
}

解决方案

On API < 11 use supportInvalidateOptionsMenu() method

这篇关于安卓invalidateOptionsMenu()的API&LT; 11的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆