0

だから、私はフラグメントを使ってアプリを開発していますが、向きを変えるとListFragment 複製のエントリが次のようになることを除いて、すべて問題ありません。

普通風景

そして、ポートレートモードに戻ると、アイテムはまだ複製されています。プロセスを強制終了して再起動するまで。

リストにデータを入力するために、を使用してAsyncTaskLoaderいますが、アプリケーションが初めて起動したときに1回だけ実行されます。次に、私のアダプターは行の情報でいっぱいになります。

<fragment>main.xmlでタグを使用していません。フラグメントは、次のような「親」アクティビティのコードによって追加されます。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    if (savedInstanceState == null) {
        TodoListFragment fragment = new TodoListFragment();
        FragmentTransaction trans = getFragmentManager().beginTransaction();
        trans.replace(R.id.fragment_list_container, fragment,
                LIST_FRAGMENT_TAG);
        trans.commit();
    }
}

置換は追加されましたが、違いが生じるかどうかをテストしようとして変更されましたが、違いはありませんでした。私もこのsetRetainInstance(true)方法を使ってみましたが、役に立ちませんでした。

私は困惑しています、どんな助けでも大歓迎です。

4

1 に答える 1

0

AsyncTaskLoaderは、アプリの起動時にのみ実行されるとおっしゃっています...向きを変更すると、アプリが再起動するので、2回目に実行される可能性がありますか?

于 2012-05-16T16:55:02.287 に答える