我正在使用simpleItemTouchHelper启用在recyclerview中的拖放。它很好用,但是我想通过拖动一个项目来拖动多个项目(特定数量->例如3或4)。在我的项目中,当我选择并拖动标题项目时,我也想移动它的其他子项。我该怎么做?
这是我的代码:
活动
public class TestActivity extends AppCompatActivity implements OnStartDragListener {
RecyclerView recyclerView;
private ItemTouchHelper mItemTouchHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
TestAdapter adapter = new TestAdapter(this,getDatas(),this);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(adapter);
ItemTouchHelper.Callback callback = new SimpleItemTouchHelper(adapter);
mItemTouchHelper = new ItemTouchHelper(callback);
mItemTouchHelper.attachToRecyclerView(recyclerView);
}
private List<Integer> getDatas(){
return new ArrayList<>(Arrays.asList(
0,
1,
1,
1,
0,
1,
1,
1,
0,
1,
1,
1
));
}
@Override
public void onStartDrag(RecyclerView.ViewHolder viewHolder) {
mItemTouchHelper.startDrag(viewHolder);
}
}
Run Code Online (Sandbox Code Playgroud)
适配器:
public class TestAdapter …Run Code Online (Sandbox Code Playgroud)