1

私は本当に、本当にここで深刻な助けが必要です. で作成するために使用するAndroidアプリをPagerAdapter作成Fragmentsしていactivityます。異なるフラグメントは、実行時に作成される必要に応じて異なるビューで構成されます。最後のフラグメントでは"Submit button"、クリックすると、EditTextすべてのフラグメントの各ビュー ( など) からユーザーが入力した値を取得することになっている のようなものを作成しました。

ビューを取得するために次のコマンドを使用しています(上記のボタンのint clicklistener):

EditText e = (EditText) (getActivity().findViewById(i));

しかし、最後の 2 つのフラグメントを除いて、その ID を持つビューを取得できません。したがって、そのアクティビティの最後の 2 つのフラグメントのみの状態を保存していると想定しています。'view states'では、アクティビティ内のすべてのフラグメントを保存するにはどうすればよいですか??

Fragment でビューを作成し、そのレイアウトに追加すると、そのビューもメイン アクティビティのレイアウトに追加されるということではないでしょうか?? 私はそれを間違った方法で理解していますか??教えてください。

簡単にするために、私の質問は次のとおりです。

ViewPager を使用して作成された動的に作成されたフラグメント内の EditText に、ユーザーが入力したコンテンツを保存するにはどうすればよいですか (後でアクセスできるようにするため)?

4

1 に答える 1

0

フラグメントを FragmentPagerAdapter に追加すると (カスタム ページャーを作成していないと仮定して)、FragmentManager に追加されます。フラグメント マネージャーは、アクティビティのライフサイクルから独立しているため、フラグメントの状態を保持します。

こちらをご覧ください: http://code.google.com/p/ratebeerforandroid/source/browse/trunk/JakeWharton-ActionBarSherlock/library/src/android/support/v4/app/FragmentPagerAdapter.java?spec=svn42&r =42

それがどのように機能するかについてのアイデアを得ることができます。別のセッションのフラグメントの状態を保存する場合は、各フラグメントをプルバックし (getItem)、onSaveInstanceState を使用するか、独自のカスタム関数を記述する必要があります。

それが役立つことを願っています

于 2011-10-07T22:16:27.280 に答える