当我从列表中删除一个项目时,它根本不会从RecyclerView中删除。从列表中删除项目不从RecyclerView中删除它们?
这是我如何删除(user.getUid()不等于dataSnaphot.getkey()):
for(User user: mFriendList){
if(user.getUid().equals(dataSnapshot.getKey())){
mFriendList.remove(user);
}
}
friendAdapter.notifyDataSetChanged();
我的用户对象被从列表中删除,但不是从视图。当我使用相同的方法添加项目列表,如..
mFriendList.add(user);
friendAdapter.notifyDataSetChanged();
..它不会被添加到列表和视图以及。为什么从列表中删除不好?
编辑:
设置RecyclerView(片段内):
mRecyclerView = (EmptyRecyclerView) rootView.findViewById(R.id.contactRecyclerView);
mRecyclerView.setHasFixedSize(true);
View myView = rootView.findViewById(R.id.emptyAdapterList);
mRecyclerView.setEmptyView(myView);
mLinearLayoutManager = new LinearLayoutManager(getContext());
mRecyclerView.setLayoutManager(mLinearLayoutManager);
mFriendList = new ArrayList<User>();
friendAdapter = new FriendAdapter(mFriendList, getContext());
mRecyclerView.setAdapter(friendAdapter);
请添加更多详细代码(如何设置您的适配器等) –
@oguzhand在编辑下添加了它,请检查。还有什么我应该加? – Carlton
您不应该从foreach循环中的集合中删除项目。它可能会导致未定义的行为取决于集合。尝试使用迭代器。 – tommus