我正在尝试在从服务启动的Activity中创建一个Options菜单,然后根据来自通过Handler传递的Service的消息更改其UI.
我按如下方式设置了“选项”菜单:
/** Menu creation and setup **/ /* Creates the menu items */ public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, 1, 0, "Speaker"); menu.add(0, 2, 0, "Mute"); return true; } /* Handles item selections */ public boolean onoptionsItemSelected(MenuItem item) { switch (item.getItemID()) { case 1: //Do something here return true; case 2: //Do something here return true; } return false; }
但是当我的应用程序运行时,它永远不会被调用.
我遇到了一些问题,我需要使用Handler来更改屏幕上的Text,因为信息是在错误的线程上传递的,同样的问题可能是菜单没有显示的原因吗?
是这样我怎么能解决它,因为我无法覆盖处理程序中的方法
解决方法:
确保您没有在密钥处理程序中使用菜单的键事件.菜单按钮事件在由onCreateOptionsMenu函数处理之前通过键处理程序发送.这可能发生在任何具有焦点的视图中,也可能发生在活动本身中.解决这个问题的快速方法如下:
@OverrIDepublic boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_MENU) return super.onKeyDown(keyCode, event); -- insert all other key handling code here -- return false;}
总结 以上是内存溢出为你收集整理的Android – 选项菜单不起作用全部内容,希望文章能够帮你解决Android – 选项菜单不起作用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)