在RecyclerView android中进行多选

时间:2016-10-24 07:19:28

标签: android android-recyclerview multi-select

我正在尝试为RecyclerView实施多重选择。我知道ListView可以很容易地实现它。我尝试了RecyclerView MultiSelect

RecyclerView MultiSelect

问题是我使用Fragment并且在Fragment内部有适配器和内部适配器,有ViewHolder类,其中所有代码都是为选择视图而编写的。

MultiSelector mMultiSelector = new MultiSelector();

public class ViewHolder  extends SwappingHolder
        implements View.OnLongClickListener {
    public final View mView;

    public ViewHolder(View view) {
        super(view, mMultiSelector);
        mView = view;
        mView.setLongClickable(true);
    }

    @Override
    public boolean onLongClick(View v) {
        if (!mMultiSelector.isSelectable()) {
            mMultiSelector.setSelectable(true);
            mMultiSelector.setSelected(ViewHolder.this, true);
            return true;
        }
        return false;
    }
}

但它不起作用。有没有什么方法可以像RecyclerView一样为ListView实现Muti Select。

2 个答案:

答案 0 :(得分:0)

使用RecyclerView并不像listView那样简单。

试试这个: it is a detailed tutorial for multi select mode with a recyclerView。 我从那里学到了它非常有用,它包括代码和ilustrations

祝你好运

答案 1 :(得分:0)

试试此代码

if (!mMultiSelector.isSelectable()) {
        ((AppCompatActivity) getActivity()).startSupportActionMode(mActionModeCallback); // (2)
        mMultiSelector.setSelectable(true);
        mMultiSelector.setSelected(MyViewHolder.this, true);
        return true;
    }
    return false;

另请查看以下链接

https://bignerdranch.github.io/recyclerview-multiselect/ http://www.grokkingandroid.com/statelistdrawables-for-recyclerview-selection/