【发布时间】:2012-07-25 12:50:27
【问题描述】:
我有一个由ArrayAdapter 支持的ListFragment,它由Loader 填充。当用户单击其中一个项目时,我想将对选定项目的引用以及列表项的其余部分传递给另一个片段。我的问题是我应该如何从适配器中获取所有项目?以下是我看到的可能性:
1.保留对支持List
像这样创建适配器:
List<DomainObject> items = new ArrayList<DomainObject>();
listAdapter = new ArrayAdapter<DomainObject>(getActivity(), R.layout.mine, items);
然后简单地将items 或它的副本传递给下一个活动。
我看到的缺点是我依赖于未记录的事实,即我传递给构造函数的同一个列表包含稍后的项目。
2。遍历适配器
当一个项目被点击时,遍历适配器并建立列表。这似乎是不必要的工作量。这些项目包含在适配器的List 中,我手动将每个项目复制到一个新列表中。
3。添加到适配器时保留单独的项目列表
在向适配器添加项目之前,将其添加到我在片段中维护的单独列表中。这也很浪费,因为项目列表被复制到ArrayAdapter 和片段中。
【问题讨论】:
标签: android