0
線形レイアウトで複数のフラグメントを追加したい。この目的のために、私はForループを使い、フラグメントにデータを渡しています。各索引には異なるデータがあります。私の現在の問題は、マルチプレイ時に画面の最後のフラグメントしか見ることができないかもしれない、おそらく最上位のフラグメントやその他の理由が隠れている可能性があります。何が問題なのか理解していない。線形レイアウトでフラグメントを複数回プログラムで追加する
categoryArrayList = dbHelper.getChannelInfo();
fragmentManager =getSupportFragmentManager();
ft = fragmentManager.beginTransaction();
for (int i = 0; i<categoryArrayList.size(); i++) {
SubFragment frag = new SubFragment();
Bundle bundle = new Bundle();
bundle.putInt("ID", (categoryArrayList.get(i).getChannelCategoryId()));
bundle.putString("categoryName", categoryArrayList.get(i).getChannelName());
frag.setArguments(bundle);
ft.add(R.id.container, frag,"fragment"+i);
}
ft.commit();
}
}
のxml:
<LinearLayout
android:id="@+id/container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="50dp"
android:background="#252424"
android:layout_below="@id/headercontainer"
android:layout_marginLeft="30dp">
これですべてがなくなり、画面上に断片が表示されません。 – Andrain
?それは意味がありません。もしあなたがしたことが、 'put *()'の呼び出しの前にその行を移動していれば。正確にあなたは何を変えましたか? –
投稿したコードを空のプロジェクトに投げただけで、 'categoryName'と' ID'引数を表示する 'TextView'の単純な' SubFragment'を作ったのです。 'Bundle'行を動かすのは、表示された引数を修正することだけでした。それがすべて変更されたことが絶対に確実な場合は、あなたのコードにあなたの投稿にない何か他のものがなければなりません。あなたの質問を今のようにコードで編集してください。もう少しそのコードを編集してください。 –