发布
社区首页 >问答首页 >Android从webservice异步任务中检索数据

Android从webservice异步任务中检索数据
EN

Stack Overflow用户
提问于 2012-09-28 15:19:15
回答 1查看 190关注 0票数 0

这是我的代码:

http://pastie.org/4856109

我想要实现的是,我希望将从我的内部AsyncTask中检索到的所有数据放在我的名为节点的main_activity变量上。

列表节点是我想要放置所有检索到的数据的变量。关于如何存储检索到的数据以便在类中使用的任何建议。

如果我运行这段代码,LogCat会给我以下内容:

09-28 23:00:24.978: e/下载(1200):java.lang.NullPointerException 09-28 23:00:25.158: D/gralloc_goldfish(1200):没有检测到GPU仿真的模拟器。 09-28 23:00:25.608: D/JSONClient(1200):"http://10.0.2.2/thesis/displayV.php

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-28 16:32:26

当你打电话:

代码语言:javascript
代码运行次数:0
复制
readWebpage(null);

这将产生一个异步调用来填充nodes对象。但是,您的主线程将立即继续到这一行:

代码语言:javascript
代码运行次数:0
复制
textView.setText((nodes.isEmpty())?"true":"false");

因为此时nodes仍然是null (因为您的AsyncTask还没有完成),那么您将得到您正在体验的NullPointerException

作为@njzk2 2状态,您应该将UI操作移动到onPostExecute()中。

代码语言:javascript
代码运行次数:0
复制
@Override
protected void onPostExecute(String result) {
    textView.setText((nodes.isEmpty())?"true":"false");
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12642819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档