jak*_*xer 5 android tabwidget options-menu android-tabhost android-asynctask
我有一个TabActivity带有四个选项卡(每个选项卡都有自己的活动).每个选项卡都定义了自己的onCreateOptionsMenu(在某些情况下onPrepareOptionsMenu).加载每个选项卡时,将AsyncTask启动a以检索填充该选项卡列表所需的数据.
如果我非常快速地切换选项卡(当它们仍在加载时),然后按菜单按钮(当前选项卡AsyncApiTask仍在运行时),我将能够显示错误的选项菜单.
例如,假设FooActivity(标签1)有一个带有"刷新"项目的选项菜单,BarActivity(标签2)有一个带有"查看全部"项目的选项菜单.如果我启动应用程序(标签1处于活动状态),快速切换到标签2,然后点击菜单,有时会显示"刷新"项目(而不是预期的"查看全部"项目).
此外,虽然这种奇怪的行为有时会出现在第一个菜单按下(后来按下显示正确的项目),有时它会"卡住",并且每次按下时都会显示错误的项目,直到我切换标签.
知道会发生什么吗?我以前没有听说过这种情况,也未能找到任何好的建议.
是的,CommonsWare 的建议是更好的解决方案!您甚至可以考虑为每个选项卡使用FragmentTabHost和片段。这样,主机 Activity 就可以从 集中更新选项菜单onTabChanged(String tab)。
虽然 anAsyncTask是从 an 生成的Activity,但如果它尚未运行,onPostExecute(...)它仍然会运行。另外,由于 s 的默认行为是可变的(不同版本的 android 顺序/并行运行它们),因此如果没有自己的ThreadPoolExecutorAsyncTask就很难控制。你的快速切换和重复似乎是阻塞的。ActivityAsyncTask
| 归档时间: |
|
| 查看次数: |
1260 次 |
| 最近记录: |