在Android中执行异步任务后显示TextView中的项目数

时间:2015-01-09 16:48:15

标签: android listview

我调用一个Web服务,该服务获取在Android活动中的ListView中显示的0-n项。

在我的onCreate()中我有

new GetData().execute();

填充名为customerDataList的对象。

在onPostExecute中,我使用列表适配器显示返回的数据。

在ListView之上我想显示检索到的项目数,但是如果我这样做的话:

new GetData().execute();
TextView numberOfItemsElm = (TextView) findViewById(R.id.number_of_items);
numberOfItemsElm.setText(customerDataList.size());
显示

0,因为该行在执行完成之前运行。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

  显示

0,因为该行在执行完成之前运行。

这是完全正确的

所以,移动这些行

TextView numberOfItemsElm = (TextView) findViewById(R.id.number_of_items);
numberOfItemsElm.setText(customerDataList.size());
在列表中设置适配器后,

onPostExecute()

或者,您可以放置​​代码以在onPostExecute()中调用的方法中设置文本,以防您在Activity中的其他位置使用该代码。

虽然,实际上应该抛出ResourceNotFoundException,因为你发送了一个int作为参数。它应该像

numberOfItemsElm.setText("" + customerDataList.size());