选择所有选项和单个项目选择Recyclerview Android



我正在实现带有项目选择的Switch的自定义循环电视。我在App Bar(顶栏)的右角有一个"选择所有"选项。我想允许用户使用选择全选项,还允许在Recyclerview中选择单个项目。

我不知道如何与选择一起实现个人选择。在使用"选择全选项"之后,当项目被取消选择时,当列表滚动时,在以下代码中的OnBindViewHolder方法中设置了true时,该项目会自动选择项目。

******SELECT ALL CLICK LISTENER IN ACTIVITY CLASS******
mBinding.imageViewActionSelect.setOnClickListener(v -> {
    mAdapter.selectAll();
});
******ADAPTER CLASS******
public void selectAll() {
    isSelectedAll = true;
    notifyDataSetChanged();
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
    if (isSelectedAll) {
        holder.mSwitchView.setChecked(true);
    }
    else
        holder.mSwitchView.setChecked(false);
}

first ,将一个变量添加到您的pojo类中,然后在选择所有选项时,通过在循环中运行项目列表来使该变量成为true,然后致电apapter.notifydatasetchanged()。现在,当您选择或取消选择单个项目时,根据您的需求使该变量truible或false,并且不要忘记致电notifydatasetchanged()。你很好。

您可以使用此FastAdapter库:https://github.com/mikepenz/fastadapter。单选项很容易,它已经为您完成。对于Multi Select,您只需循环浏览所有项目并致电mAdapter.toggleSelection(position)即可。当您需要选定的项目时,您可以轻松调用mAdapter.getSelection()。它很容易,无需自己做

最新更新