5

適切に初期化するためListFragmentにホスティングに依存する があります。Activity最初の実行では、問題なくロードされます。向きを変更すると、アプリがクラッシュします。スタック トレースから、Fragment時期尚早に を追加しようとしているのではなく、Android がFragment.

メソッドをsetRetainInstance(false)設定しましたが、向きが変わったらのonStart復元を無効にする方法が見つかりません。Fragment何か案は?Fragmentアプリが破棄される前にを削除する必要がありますか?

編集:アクティビティの準備が整うまで、リストの初期化を遅らせてしまいました。Android は、アダプターが設定されるまで「読み込み中」メッセージを表示します。

4

2 に答える 2

1

アクティビティの準備が整うまで、リストの初期化を遅らせてしまいました。Android は、アダプターが設定されるまで「読み込み中」メッセージを表示します。

于 2011-03-20T16:13:24.843 に答える
0

適切に初期化するためにホスティング アクティビティに依存する ListFragment があります。

それがあなたの難しさかもしれません。

スタック トレースから、フラグメントを時期尚早に追加しようとしているのではなく、Android がフラグメントを復元しようとしていることがわかります。

正しい。

何か案は?

構成の変更を適切に処理することに集中します。フラグメント内と, ( の両方) と( の)onSaveInstanceState()の組み合わせの間で、クラッシュすることなく、古いフラグメントにあるものを新しいフラグメントに渡すことができるはずです。構成の変更については、「ホスティング アクティビティを適切に初期化する」ことに依存しないでください。onRetainNonConfigurationInstance()getLastNonConfigurationInstance()ActivityonAttach()Fragment

于 2011-03-17T21:41:12.653 に答える