gpt4 book ai didi

android - 如何将上下文从 MenuItem onOptionsItemSelected 传递到 ASyncTask?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:33:37 26 4
gpt4 key购买 nike

编辑:一行中的问题:

How to pass along context from a MenuItem onOptionsItemSelected?

编辑 2:这是我正在做的事情的全局指示:https://github.com/JakeWharton/ActionBarSherlock/blob/master/samples/fragments/src/com/actionbarsherlock/sample/fragments/FragmentTabsPager.java


我正在构建一个基于 ActionBarSherlock 的应用程序。它使用选项卡、 fragment 和 viewpager。它意味着尽可能多才多艺。选项卡可以包含 webview 或 listview。这是一个屏幕截图:

http://dl.dropbox.com/u/11218283/Screenshot_2012-05-16-13-33-08.png

首次加载选项卡 (SherlockListFragment) 时,它会使用 ASyncTask 从提要中读取内容。 OnPostExecute 它更新列表并将结果保存到 SharedPreference 字符串(作为一种缓存方式)。可以想象,AsyncTask 需要上下文来执行此操作。我像这样从 SherlockListFragment 调用异步任务:

x.new refreshList(this,getActivity()).execute();

(x 是对我当前文件的引用)。

然后像这样将它传输到我的 AsyncTask

 public refreshList(TabList a,Context b){
this.mContext = a;
this.mCont = b;
}

一切正常。但是正如您所看到的,我已经添加了一个用于刷新的菜单项。按照我设置的方式,我无法重新运行 ASyncTask,因为我没有获得适当的上下文信息。谁能告诉我在这种情况下如何执行刷新?

如果任何愿意提供帮助的人需要查看更多代码,我将很乐意遵守。

提前致谢。

最佳答案

您说您正在响应 onOptionsItemSelected 中的按钮,因此如果您在 Activity 中执行此操作,上下文就是 this。如果在 fragment 中,它是 getActivity()

关于android - 如何将上下文从 MenuItem onOptionsItemSelected 传递到 ASyncTask?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10618011/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com