我有一个一直运行良好的应用程序,但突然有些用户运行4.0设备(不是全部)声称菜单不起作用...
我有一个超过6个选项的菜单或默认的Android显示.用户抱怨说,当他们点击显示剩余选项的" 更多"按钮时,会出现显示所有其他选项的弹出列表,但他们无法单击任何选项.弹出的列表不接受除后退按钮以外的任何用户操作,后退按钮将关闭它.
有谁知道为什么会这样?我无法在我拥有的任何设备或我拥有的任何模拟器上重现错误....我假设我正在处理一些碎片问题或操作系统更改问题,因为代码基本上是可以的.
有人有主意吗?菜单是否会以某种方式发生显着变化,从而导致这种情况发生?
如果我正确理解你的问题那么我也遇到过类似的问题,
问题--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)
| 归档时间: |
|
| 查看次数: |
332 次 |
| 最近记录: |