编辑:一行中的问题:
如何从 MenuItem onOptionsItemSelected 传递上下文?
编辑2:这是我在做什么的全局指示:https ://github.com/JakeWharton/ActionBarSherlock/blob/master/samples/fragments/src/com/actionbarsherlock/sample/fragments/FragmentTabsPager.java
我正在构建一个基于 ActionBarSherlock 的应用程序。它使用标签、片段和浏览器。它意味着尽可能多才多艺。选项卡可以包含 web 视图或列表视图。这是一个屏幕截图:
首次加载选项卡 (SherlockListFragment) 时,它使用 ASyncTask 从提要中读取内容。OnPostExecute 它更新列表并将结果保存到 SharedPreference 字符串(作为一种缓存方式)。可以想象,AsyncTask 需要上下文来执行此操作。我从 SherlockListFragment 调用 asynctask,如下所示:
x.new refreshList(this,getActivity()).execute();
(x 是对我当前文件的引用)。
并像这样将其传输到我的 AsyncTask
public refreshList(TabList a,Context b){
this.mContext = a;
this.mCont = b;
}
一切正常。但正如你所看到的,我已经在一个菜单项中添加了一个用于刷新的菜单项。按照我的设置方式,我无法重新运行 ASyncTask,因为我没有适当的上下文信息。谁能告诉我在这种情况下如何执行刷新?
如果任何愿意提供帮助的人需要查看更多代码,我会很乐意遵守。
提前致谢。