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

Spe*_*pgh 7 android menu

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

我有一个超过6个选项的菜单或默认的Android显示.用户抱怨说,当他们点击显示剩余选项的" 更多"按钮时,会出现显示所有其他选项的弹出列表,但他们无法单击任何选项.弹出的列表不接受除后退按钮以外的任何用户操作,后退按钮将关闭它.

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

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

Bip*_*lab 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();
        }
        }
    }
Run Code Online (Sandbox Code Playgroud)