参见英文答案 > AsyncTask: where does the return value of doInBackground() go? 2个
我使用http GET方法在我的应用程序数据检索中.
任务完成后,我希望在mainActivity中显示返回值(目前我的应用中只有1个活动)
这是我的asyncTask类:
class getAsync extends AsyncTask<String,VoID,String> { String ret; @OverrIDe protected String doInBackground(String... params) { String url = params[0]; myGetReq myget = new myGetReq(); ret = myget.get(url); Log.d("[RETURN STATUS]",ret); return ret; }}
从我的主要活动中,我以下列方式使用它:
getAsync get = new getAsync();get.execute(url);statText.setText(get.ret);
其中statText是我的活动窗口中的文本.
它保持空白,甚至很难我在logcat中看到响应的主体.
如何正确地将这些数据传回我的活动?
解决方法:
Asynce Task有onPostExecute方法…在这个方法中你可以使用UI组件,所以我在onPostExecute中有settext …使用下面的代码..
class getAsync extends AsyncTask<String,VoID,String> { @OverrIDe protected String doInBackground(String... params) { String url = params[0]; myGetReq myget = new myGetReq(); String ret = myget.get(url); Log.d("[RETURN STATUS]",ret); return ret; } @OverrIDe protected voID onPostExecute(String result) { // Todo auto-generated method stub super.onPostExecute(result); statText.setText(result); }}
总结 以上是内存溢出为你收集整理的android – 如何提取AsyncTask的返回值?全部内容,希望文章能够帮你解决android – 如何提取AsyncTask的返回值?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)