我在项目中使用DataBinding,并使用以下绑定方法将项目添加到列表的适配器。我面临的问题是,当我进行搜索时,我希望仅将项目添加到listB中,否则要添加到listA中。但是,当两次调用“ addItems”方法时(一次用于“ items”更改,其次是“ isSearching”),值更改。因此,当我稍后将isSearching值更改为false时,它将再次调用'addItems'方法,并再次将项目添加到列表中,这是错误的。我怎样才能更好地解决它?
代码:
public void addItems(List<Object> items,boolean isSearching)
{
if(!isSearching)
listA.addAll(items);
listB.addAll(items);
}
@BindingAdapter({"adapter","isSearching"})
public void updateList(RecyclerView recyclerView,List<Object> items,boolean isSearching)
{
MyAdapter myAdapter = (MyAdapter) recyclerView.getAdapter();
myAdapter.addItems(items,isSearching);
}