我有一个ListView
Activity
使用AsyncTask
加载数据库中的数据。此活动有一个选项菜单,用于检查onPrepareOptionsMenu()
中活动列表视图中是否有任何数据项。从AsyncTask刷新ActionBar
如果有项目,我启用ActionBar
上显示的允许用户删除项目的选项之一。
现在,当活动启动时,AsyncTask启动,并且在AsyncTask仍在运行时运行onPrepareOptionsMenu(),此菜单项从未启用,除非设备被翻转并且listview数据作为实例,绕过AsyncTask。
所以,在的AsyncTask的onPostExecute()
,我叫invalidateOptionsMenu()
,但似乎并没有被刷新菜单(我在onCreateOptionsMenu()
和onPrepareOptionsMenu()
调试代码,也不被触发)。任何帮助赞赏。
按正确它应该工作。不明白为什么它不应该是你的asynctask是当前活动的内部类?还是单独上课? – Rejinderi 2011-12-22 02:21:57
当前活动的内部类 – 2011-12-22 02:30:15
我假设你正在调用'MyActivity.this.invalidateOptionsMenu()'对吗?你可以尝试我的建议和调试? – Rejinderi 2011-12-22 02:35:09