2012-05-08 11 views
1

私はトラブル姿勢変化に断片とどのようにAndroidの取引(特にネストされた断片を)理解を持っています。ネストされた断片(向き)の変化

私はアクティビティa1にフラグメントf1をロードしています。 f1oncreateview()メソッドでフラグメントf2の複数のインスタンスを自身にロードします。

今私の活動a1は(oncreate())でこれを持っている:

if (savedInstanceState != null) 
    return; 

f1の複数のインスタンスがロードされませんことを確認します。私は同じ種類のことをf1で行い、重複したf2インスタンスがロードされないようにします。

しかし、私のクラスf1は、後でf2インスタンスを参照する必要があります。現在、オブジェクトをf1オブジェクトのArrayListに格納していますが、向きを変更した後はこのArrayListは空です。f2インスタンスはどのようなオブジェクトにもなります。

私の質問は、どのように入れ子にされたフラグメントを持ち、オリエンテーションの変更後に参照を保持する最良の方法ですか?

答えて

1

あなたは他のフラグメントへの参照を見つけるためにFragmentMangerを使用することができます。

あなたが好きな何かをすることによって、別のフラグメントへの参照を取得することができます:

DetailsFragment details = (DetailsFragment) getFragmentManager().findFragmentById(R.id.details); 

またはあなたはすでにそれがthisブログの記事を見て見ていない場合は

DetailsFragment details = (DetailsFragment) getFragmentManager().findFragmentByTag("my tag"); 

同じフラグメントのインスタンスが複数ある場合は、フラグメントを作成するときにタグを設定し、そのフラグメントを探すときにidの代わりにそのタグを使用できます。

関連する問題