0

我有三ListFragment是一项活动。对于第一个 listFragment,我创建了一个ListFragment并使用一些listItem轻松地扩展了一个布局:

setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, getResources.getStringArray(R.string.baal)));

第二个的项目listFragment会根据第一个的选中项目而变化,ListFragment类似的第三个的项目listFragment会根据第二个的选中项目而变化ListFragment

第一个ListFragment是静态的,因为它不依赖于任何其他ListFragment. 所以我只是用一些项目来膨胀一个布局。

但是第二项和第三项listFragments需要经常更换。因此,每次点击事件时,我都需要在运行时使用新的列表项对其进行膨胀。所以我认为第二个和第三个LisFragment需要通过每次添加新的列表项来动态创建。我怎样才能做到这一点?我是 Fragment 的新手,我需要清晰的动态 UI 概念。提前致谢。

4

2 回答 2

1

例如,您可以尝试清除第二个和第三个片段的适配器,然后添加所有必要的项目,这样您就不需要膨胀整个片段,而只会改变内容。还取决于您是否需要调用的适配器类型notifyDataSetChanged(例如,如果它是 ArrayAdapter)。

UPD:在您的主要项目单击事件中,您可以编写一些这样的代码

            YourAdapter1 adapter1 = getFirstAdapter();
            adapter1.clear();
            adapter1.addAll(newItem1Collection);

            YourAdapter2 adapter2 = getSecondAdapter();
            adapter2.clear();
            adapter2.addAll(newItem2Collection);

在哪里YourAdapter1YourAdapter2应该扩展ArrayAdapter,这也将自动调用notifyDataSetChange

于 2013-07-14T09:00:40.387 回答
0

我建议您使用选项卡,为每个选择动态添加选项卡,并允许用户向后滑动以取消选择,例如面包屑导航。

您可以在此处查看相关问题: Android - 如何使用现有布局按需创建选项卡?

于 2013-07-14T09:03:44.333 回答