0

这是我的代码:

http://pastie.org/4856109

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

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

如果我运行这段代码,LogCat 会给我这个:

09-28 23:00:24.978:电子/下载(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”

4

1 回答 1

1

你打电话时:

readWebpage(null);

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

textView.setText((nodes.isEmpty())?"true":"false");

由于nodesnull处于这一点(因为您的 AsyncTask 尚未完成),那么您将获得NullPointerException您正在经历的。

正如@njzk2 所说,您应该将您的 UI 操作移至onPostExecute()

@Override
protected void onPostExecute(String result) {
    textView.setText((nodes.isEmpty())?"true":"false");
}
于 2012-09-28T16:32:26.403 回答