私は、フラグメントのタッチリスナーの中央コントローラとして機能することで、フラグメントトランジションを処理するBaseActivityを持っています。フラグメントの1つはカスタムListviewで、タップするとBaseActivityに新しいフラグメントが表示されます。これは、アクティビティが最初から作成されたときに機能しますが、アクティビティが破棄されたとき(Devオプション「アクティビティを保持しない」またはメモリのクリーンアップを介して)に問題があります。カスタムListviewは、アクティビティが破棄された後にリスナーに応答しません。
アクティビティが破損して起動したときにフラグメントのリスナーを設定していますが、リストビューをタップすると新しいフラグメントに切り替わらないことをログから確認しました。また、フォーカスの問題であるかどうかを確認しようとしましたが、android:descendantFocusability="blocksDescendants"
をListviewレイアウトXMLに入れても問題は解決しません。
リスナーはフラグメントを作成するときに設定され、リスナーは起動時にインスタンス化される最初のフラグメントです。どんな洞察にも感謝します!
ここで、フラグメントリスナーを設定していますか? 'onCreateView'? –
フラグメントリスナーは、onCreateView、yesに設定されています。フラグメントリストビューOnitemClickListenerは、フラグメントの作成時にBaseActivityが設定する実装されたリスナーを呼び出します。 – infinityLoop
私は読んだ方が簡単だと答えましたが、おそらくそこから作業することができます –