菜单问题与一些Android 4.x设备

时间:2013-08-06 12:54:04

标签: android menu

我有一个一直运行良好的应用程序,但突然有些用户运行4.0设备(不是全部)声称菜单无效......

我有一个包含6个以上选项的菜单或默认情况下Android显示的菜单。 用户抱怨说,当他们点击显示其余选项的 MORE 按钮时,会出现显示所有其他选项的弹出列表,但他们无法点击任何选项。弹出的列表不接受除后退按钮以外的任何用户操作,后退按钮将关闭它。

有没有人知道为什么会这样?我无法在我拥有的任何设备上或我拥有的任何模拟器上重现错误....我假设我正在处理一些碎片问题或操作系统更改问题,因为代码基本上是可以的。< / p>

有人有什么想法吗?菜单是否会以某种方式发生显着变化,从而导致这种情况发生?

1 个答案:

答案 0 :(得分:2)

如果我理解你问题正确,那么我遇到了类似的问题,

问题 - 2.x有一个专用的菜单键,但在4.x中没有,所以我们需要在创建时检查..

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.app_list);
        checkMenu();
                   //other stuff
        }
@SuppressLint("NewApi")
    public void checkMenu() {
    boolean hasMenu = ViewConfiguration.get(this).hasPermanentMenuKey();
        if (!hasMenu) {
            try {
    getWindow().addFlags(WindowManager.LayoutParams.class.getField( "FLAG_NEEDS_MENU_KEY").getInt(null));
        } catch (NoSuchFieldException e) {
                e.printStackTrace();
        } catch (IllegalAccessException e) {
                e.printStackTrace();
        }
        }
    }