【发布时间】:2014-06-12 09:35:52
【问题描述】:
我有我的主要活动,并且在该活动中我有一个私有 AsyncTask 类。在我的公共 AsyncTask 类中,有一个字符串在我的 AsyncTask 完成后我需要访问我的 MainActivity。
我如何能够从我的主活动访问我的异步任务类中的字符串?
编辑:我在 Activity 的 OnCreate 中调用 AsyncTask
异步任务类(接近底部是我需要的字符串):
public class getLikes extends AsyncTask<String, String, String> {
JSONObject obj = null;
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
try {
String jsonUser = fb.request("5027904559");
obj = Util.parseJson(jsonUser);
} catch (FacebookError e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String args) {
// TODO Auto-generated method stub
//I need to use this String elsewhere in my MainActivity
String name = obj.optString("likes");
}
}
这里是我需要使用字符串的地方(如果重要的话)
navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons
.getResourceId(0, -1), true, names));
【问题讨论】:
-
尝试为你需要的字符串使用一个全局变量。
-
在您的主类中放置一个名称变量并从您的异步任务中访问它