为什么所有这些片段都接收相同的捆绑项目?

时间:2015-10-13 00:21:46

标签: android android-fragments android-bundle

我正在尝试将碎片添加到视图中。我有一个字符串数组,我想为每个数组创建一个新的片段。看似简单的任务。

String[] items = getResources().getStringArray(R.array.myArray);

for (int i = 0; i < items.length; i++) {

    Bundle bundle = new Bundle();
    bundle.putString("category", items[i]);
    Fragment frag = new MyFragment();
    frag.setArguments(bundle);

    FragmentTransaction ft = getFragmentManager().beginTransaction();
    ft.add(R.id.mga_viewParentContainer, frag, "frag_" + i);
    ft.commit();

    Log.i ("FT commit called on item:", items [i]);

} // for loop

这会为数组中的每个项创建一个新片段,但每个片段都会从数组中的最后一项获取“category”包项。所以所有碎片都会膨胀相同的信息。

但是,日志会报告所有项目。

为什么会这样?

0 个答案:

没有答案