我搜索了一段时间,但无法找到解决方案。我有类似toogle Button作为MenuItem的东西,我想在用户点击菜单项时立即更新它。
关于Android文档:http://developer.android.com/reference/android/view/Menu.html有一个名为FLAG_PERFORM_NO_CLOSE
的标志..我用它
menu.performIdentifierAction(R.id.myItem, Menu.FLAG_PERFORM_NO_CLOSE);
但你可以想象,没有任何反应。菜单在没有更新的情况下快速关闭。
感觉Android在关闭之前不会更新菜单视图。这看起来非常难看..如果菜单重新打开之前选择了项目,则用户无法获得反馈..
有人可以帮我解决问题吗?
对我来说最好的解决方案是,如果菜单项正在更新,菜单关闭后,让我们说200毫秒不是立即。
更新
public boolean onMenuItemSelected(int featureId, MenuItem item) {
// TODO Auto-generated method stub
return super.onMenuItemSelected(featureId, item);
这是选择项目时触发的方法。看起来菜单在场景后面有自己的处理程序。我找不到任何可以延迟关闭菜单甚至更新它的东西..希望现在清楚
答案 0 :(得分:0)
看看这个:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//write code you want to delay by 200 ms
}
}, 200);
有关Handler工作的信息,您可以访问Android Developer网站。