如何在其父活动中修改ListFragment中的列表

时间:2014-06-10 08:30:16

标签: android android-fragments android-listview android-arrayadapter android-listfragment

我有一个SherlockListFragment,我正在onActivityCreated中为它创建一个适配器。 父活动实现了一个回调接口,用于与其片段进行通信。 当调用activity的方法时,我想在片段列表中添加/删除一个项目。 我试过使用getListAdapter并收到一个NPE。如果我使用getListView,则会收到“尚未创建的内容视图”错误。 如何以正确的方式修改片段中的列表?

活动代码:

@Override
public void addFavorite(Contact item) {
    List<Contact> favoriteContacts = ((FavoriteContactsAdapter) favouriteContactsFragment
            .getListAdapter()).getContacts();
    favoriteContacts.add(0, item);
    FavoriteContactsAdapter adapter = new FavoriteContactsAdapter(
            getApplicationContext(), R.layout.contact_layout,
            favoriteContacts);
    favouriteContactsFragment.setListAdapter(adapter);
}

片段代码:

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    contacts = getArguments()
            .getParcelableArrayList(Constants.CONTACTS_KEY);

    adapter = new FavoriteContactsAdapter(getActivity(),
            R.layout.contact_layout,
            ContactsUtils.getFavoriteContacts(contacts));
    setListAdapter(adapter);
    ...

0 个答案:

没有答案