0

私は Android を初めて使用しますが、これまでのところ、最初のアプリの作成はかなりうまくいきました。このサイトを素晴らしいリソースにしてくれた皆さんに感謝します。

私のアプリでは、画面の向きが変わったときにフラグメントを再構築するためにバンドルでデータを渡しています。これが発生すると、スピナー、編集テキスト、および別のスピナーを含むテーブル レイアウトで行を再構築しています。フラグメントの読み込みが完了すると、すべての行に方向変更前の最後の行の情報が含まれます。例えば:

b4 向き変更:

abc

デフォルト

方向変更後:

画面を回転させたときにデバッグ ツールでビューを追跡したところ、値が正しく渡され、値が onActivityCreated メソッドで新しい行に正しく設定されていることがわかりました。この後、値を変更せずに onStart メソッドと onResume メソッドが実行されます。次に、onResume() とフラグメントがロードされる間のある時点で、これらの値が変更されます。onItemSelectedListener をスピナーにアタッチし、呼び出されたときに追跡することで、これを理解しました。フラグメントのライフサイクルについての私の理解では、再開後に呼び出されるメソッドは他にないので、非常に困惑しています。

何がうまくいかないのですか?onResume の後に呼び出される別のライフサイクル メソッドはありますか? ビューに間違った値を渡しているものを追跡する方法はありますか?

どんな助けでも大歓迎です。

T

4

1 に答える 1

0

何が起こっているのかはわかりませんが、スピナーとエディットテキストビューの値を設定するコードをonResume呼び出しに移動することで、これは解決されました。

于 2012-11-06T19:29:23.640 に答える