0

我目前正在开发一个带有两个选项卡式片段的 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();

    }

将不胜感激任何帮助!

4

1 回答 1

0

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

于 2013-05-23T19:43:36.820 回答