我的应用只需从json
请求url
数据,并将其显示在TableLayout
中。我使用asynctask
来请求json
数据,然后使用json
数据填充TableLayout
。它工作正常但是当我按下back
按钮然后我再次进入应用程序时,它再次通过运行json
来请求AsyncTask
数据。我只是想再次停止调用AsyncTask
。所以TableLayout
填充了两次相同的数据。那我怎么能解决这个问题?
答案 0 :(得分:2)
进行全局布尔旋转并使用:
@Override
protected void onSaveInstanceState(Bundle outState) {
// Here save the data you have
outState.putInt("integer1", value);...
super.onSaveInstanceState(outState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
value = savedInstanceState.getInt("integer1");...
//fill your layout here
super.onRestoreInstanceState(savedInstanceState);
rotation = true;
}
@Override
public void onResume() {
super.onResume();
if(!rotation){
//start AsyncTask here
}
}
答案 1 :(得分:0)
可能的情况: 1.如果要加载数据一次,您最好将onResume中的异步任务调用onCreate。 2.取消onStop或onPause内的异步任务,或在onResume中正确处理。