我调用一个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,因为该行在执行完成之前运行。
有什么想法吗?
答案 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());