我有一个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);
...