0

私のアプリケーションは単にjsonからデータを要求し、urlそれを に表示しますTableLayout。以前はデータasynctaskをリクエストし、jsonそのデータを使用しjsonTableLayout. それは正しく動作しますが、backボタンを押してから再びアプリケーションに来ると、json実行してデータを再度要求しますAsyncTaskAsyncTaskもう一度呼び出すのをやめたいだけなのでTableLayout、同じデータが2回入力されます。どうすればこの問題を解決できますか?

4

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 に答える