当我第一次在应用程序运行时调用ProcessTask
时,它会成功显示ListView
中的数据,但是当应用程序再次运行时(按下后退按钮并再次打开APP)并调用{{1}再次,那么我能够查看ProcessTask
中的数据....为什么?
这是代码
ListView
答案 0 :(得分:0)
尝试删除@Override,如下所示,但我认为问题是第二次,你已经设置了一个适配器,所以你必须告诉刷新数据,然后用notifyDataSetChanged()来做。 / p>
protected void onPostExecute(Boolean result) {
// TODO Auto-generated method stub
expListView.setAdapter( listAdapter ); //this displays the data
listAdapter.notifyDataSetChanged();
}
答案 1 :(得分:0)
首先知道结果是否为假,如果结果为false则不执行任何操作,否则setadapter并通知适配器中更改的数据。
尝试使用:
@Override
protected void onPostExecute(Boolean result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
if (result != false)
expListView.setAdapter( listAdapter ); //this displays the data
}
并在后台工作人员更改:
listAdapter = new ExpandableListAdapter( MainActivity.this, listDataHeader, listDataChild );
:
runOnUiThread(new Runnable() {
@Override
public void run() {
listAdapter = new ExpandableListAdapter( MainActivity.this, listDataHeader, listDataChild );
}
});