我目前正在开发一个带有两个选项卡式片段的 Android 应用程序。一个片段由列表视图中的预填充列表组成。另一个包含要在列表视图中显示的动态列表。
我想从第一个片段的列表项中填充第二个片段的列表视图。
问题
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;
}
列表适配器1
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);
}
列表适配器2
private static List<ListEntry> listEntries;
public void refreshListEntries(List<ListEntry> newListEntries){
listEntries.clear();
listEntries.addAll(newListEntries);
this.notifyDataSetChanged();
}
将不胜感激任何帮助!