刷新android listview的问题

时间:2013-05-20 10:24:23

标签: android listview

我目前正在开发一款带有两个标签片段的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();

    }

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

想出来,答案是在android文档中,这里是链接: http://developer.android.com/training/basics/fragments/communicating.html