0

少し問題が発生しています。

それぞれがフラグメントを指しているヘッダーのリストを持つPreferenceActivityがあります。これらのフラグメントは、単一のペイン(小さなディスプレイ)として表示されます。

ヘッダーフラグメントを終了してPreferenceActivity自体のヘッダーのリストに戻るには、(ユーザーとして)戻るボタンを押すかgetActivity().onBackPressed()、ユーザーがボタンを押した後にリストに戻る必要がある場合は呼び出します。 UI。

これにより、ヘッダーリストPreferenceActivityに戻りますが、onDestroy()そのアクティビティのメソッドも呼び出します。

これは私が理解していないことです:

onDestroy()アクティビティ自体がはっきりと見えるのに、なぜそれが呼ばれるのですか?そして、アクティビティが表示されているので、なぜonCreate()その後も呼び出さないのですか?

onReset()これには、最初にヘッダーを生成するデータのリストを作成するために使用するローダーのを呼び出すという副作用もあります。これにより、リストからアイテムを削除した場合でも、ヘッダーリストが変更されていないように見えるため、ヘッダーの数が減りました。PreferenceActivityを実際に閉じて再度開くと、ヘッダーリストが正しくなり、ローダー自体が機能していることが示されます。

4

2 に答える 2

0

コードなしでここで何が起こっているのか完全には理解できません。しかし、その音から、あなたはonBackPressed()活動を呼びかけているので、断片に関係なく起こることが起こります。アクティビティでオーバーライドonBackPressed()して、そこでフラグメント トランザクションを処理してみてください。

于 2013-01-16T00:07:46.847 に答える