android – 从AsyncTask类onPostExecute方法返回值

android – 从AsyncTask类onPostExecute方法返回值,第1张

概述好的,现在我有一个包含一些旋转器的类A,值将由扩展AsnycTask的B类填充,它从Web服务中获取微调值.在B类中,我设法检索值,在Toast中显示.现在的问题是如何将这些微调值重新传递给A类? 我试过了 Can OnPostExcecute method in AsyncTask RETURN values? 将A类传递给B类,并将该值存储在A类公共变量中,如下所示 @Overridepro 好的,现在我有一个包含一些旋转器的类A,值将由扩展AsnycTask的B类填充,它从Web服务中获取微调值.在B类中,我设法检索值,在Toast中显示.现在的问题是如何将这些微调值重新传递给A类?

我试过了

Can OnPostExcecute method in AsyncTask RETURN values?

将A类传递给B类,并将该值存储在A类公共变量中,如下所示

@H_403_8@@OverrIDeprotected voID onPostExecute(String result){ classA.classAvariable = result;}

但是,无论何时我尝试阅读classAvariable我总是得到一个NullPointer异常.
似乎变量从未被分配给结果.
为了可读性,我需要分离B类,而不是使用内联类.

任何想法我的Java程序员?

解决方法 我想你正在设法读取A类变量之前.
尝试使用回调函数在回调函数中传递值并刷新您的旋转器.

您可以创建接口,将其传递给AsyncTask(在构造函数中),然后在onPostExecute中调用方法

例如:

你的界面:

@H_403_8@public interface OnTaskCompleted{ voID onTaskCompleted(values);}

你的活动:

@H_403_8@public YourActivity implements OnTaskCompleted{ //your Activity YourTask task = new YourTask(this); // here is the initalization code for your asyncTask}

和你的AsyncTask:

@H_403_8@public YourTask extends AsyncTask<Object,Object,Object>{ //change Object to required type private OnTaskCompleted Listener; public YourTask(OnTaskCompleted Listener){ this.Listener=Listener; } //required methods protected voID onPostExecute(Object o){ //your stuff Listener.onTaskCompleted(values); }} 总结

以上是内存溢出为你收集整理的android – 从AsyncTask类onPostExecute方法返回值全部内容,希望文章能够帮你解决android – 从AsyncTask类onPostExecute方法返回值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1132695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存