DataBinding多次调用带有多个参数的方法

时间:2018-09-25 18:04:06

标签: android mvvm data-binding android-databinding

我在项目中使用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);
}

0 个答案:

没有答案