2016-06-15 10 views
0

配列から、実行時に複数の断片を追加し、私は、実行時に複数の動的配列を作成し、アンドロイド - 私は、単純な文字列配列を持つ

が、私はこのような何かをしたい、新たなフラグメントに、各配列項目からデータを渡したいです:

String[] names = {"frag_first", "frag_second", "frag_third"}; 
myFragment frag = new myFragment(); 

for (String name : names) { 
    getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, frag).commit(); 
    frag.setName = name; 
} 

enter image description here

どのようにこれを可能にすることができますか?

+0

はクラッシュし続けます。問題は、同じオブジェクトを複製して参照することができないことだと私は思う! – Bialy

+0

R.id.fragment_containerのフラグメントは常に同じフラグメントです。毎回新しいフラグメント()を作成する必要があります。 – Ninja

答えて

1

私はあなたが遭遇する問題があると信じて:

java.lang.IllegalStateException:フラグメントは、すでにあなたがループに新しいフラグメントの作成を移動する必要が

を追加しました。そのように:

String[] names = {"frag_first", "frag_second", "frag_third"}; 

for (String name : names) { 
    myFragment frag = new myFragment(); 
    getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, frag).commit(); 
    frag.setName = name; 
} 

BTW:クラス名を大文字にします。

+0

これは実行時に1つだけのフラグメント(最後のもの)を与えます。コンテナの直線レイアウトが垂直方向に設定されているが、まだ1つのフラグメントが表示されていることを確認しました:( – Bialy

+0

EDIT:フラグメントを親コンテナに追加し、あなたの答えは正しいものとして宣言されるべきです。 – Bialy

関連する問題