私のアプリケーションは単にjson
からデータを要求し、url
それを に表示しますTableLayout
。以前はデータasynctask
をリクエストし、json
そのデータを使用しjson
てTableLayout
. それは正しく動作しますが、back
ボタンを押してから再びアプリケーションに来ると、json
実行してデータを再度要求しますAsyncTask
。AsyncTask
もう一度呼び出すのをやめたいだけなのでTableLayout
、同じデータが2回入力されます。どうすればこの問題を解決できますか?
2 に答える
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
}
}
于 2012-09-11T11:42:44.127 に答える
0
考えられるケース: 1. データを 1 回ロードする場合は、onResume で非同期タスクを呼び出して、onCreate に配置することをお勧めします。2. onStop または onPause 内で非同期タスクをキャンセルするか、onResume で適切に処理します。
于 2012-09-11T11:46:52.807 に答える