我目前正在开发一款带有两个标签片段的Android应用。一个片段由列表视图中的预填充列表组成。另一个包含要在列表视图中显示的动态列表。
我想在第一个片段的列表项中填充第二个片段的listview。
问题
1)片段2上的ListView不会填充,除非底层适配器由虚拟列表初始化。
2)ListView上的更改不是即时的。如果我从列表中删除列表项,该项仍然出现在片段2的ListView中。但如果我在选项卡之间切换,我会看到所需的列表。
以下是代码:
片段2
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstance) {
// listEntries = new ArrayList<InterimOrderEntry>(0);
listEntries = DummyListData.getOrder();
view = (ListView)inflater.inflate(R.layout.fragment2, container, false);
ListAdapter2 listAdapter2 = new ListAdapter2(orderEntries, getLayoutInflater(savedInstance), container);
view.setAdapter(listAdapter2);
return view;
}
ListAdapter1
private void addToList2(String itemName, int quantity, int itemImageId, Context context){
ListEntry listEntry = new ListEntry(itemName, quantity, itemImageId);
listEntries.clear();
listEntries.addAll(LisAdapter2.getOrderEntries());
listEntries.add(orderEntry);
new ListAdapter2().refreshListEntries(listEntries);
}
ListAdapter2
private static List<ListEntry> listEntries;
public void refreshListEntries(List<ListEntry> newListEntries){
listEntries.clear();
listEntries.addAll(newListEntries);
this.notifyDataSetChanged();
}
非常感谢任何帮助!
答案 0 :(得分:0)
想出来,答案是在android文档中,这里是链接: http://developer.android.com/training/basics/fragments/communicating.html