该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我写了一个测试类 想实现侧滑删除菜单的功能 但是我这么写代码的 没法实现这个功能
public class Main2Activity extends AppCompatActivity {
private SwipeMenuRecyclerView swipeMenuRecyclerview;
private List list;
private MenuAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
initView();
swipeMenuRecyclerview.setLongPressDragEnabled(true); // 开启拖拽。
swipeMenuRecyclerview.setItemViewSwipeEnabled(true); // 开启滑动删除
SwipeMenuCreator swipeMenuCreator=new SwipeMenuCreator() {
@Override
public void onCreateMenu(SwipeMenu swipeLeftMenu, SwipeMenu swipeRightMenu, int viewType) {
SwipeMenuItem swipeMenuItem=new SwipeMenuItem(Main2Activity.this)
.setBackgroundDrawable(R.mipmap.drawable)
.setImage(R.mipmap.ic_launcher)
.setText("删除")
.setTextSize(50)
.setTextColor(Color.WHITE) // 文字的颜色。
.setWidth(200)
.setHeight(200);
swipeRightMenu.addMenuItem(swipeMenuItem);
swipeLeftMenu.addMenuItem(swipeMenuItem);
}
};
swipeMenuRecyclerview.setSwipeMenuCreator(swipeMenuCreator);
list = new ArrayList<>();
for(int i=0;i<100;i++){
list.add("数据测试"+i);
}
adapter = new MenuAdapter(list,this);
OnSwipeMenuItemClickListener menuItemClickListener=new OnSwipeMenuItemClickListener() {
@Override
public void onItemClick(Closeable closeable, int adapterPosition, int menuPosition, int direction) {
Log.d("--->","我点击了"+adapterPosition+""+"第"+menuPosition+"个菜单");
}
};
swipeMenuRecyclerview.setSwipeMenuItemClickListener(menuItemClickListener);
swipeMenuRecyclerview.setAdapter(adapter);
swipeMenuRecyclerview.setOnItemMoveListener(new OnItemMoveListener() {
@Override
public boolean onItemMove(int fromPosition, int toPosition) {
Collections.swap(list,fromPosition,toPosition);
adapter.notifyItemMoved(fromPosition,toPosition);
return true;
}
@Override
public void onItemDismiss(int position) {
list.remove(position);
adapter.notifyItemRemoved(position);
}
});
}
private void initView() {
swipeMenuRecyclerview = (SwipeMenuRecyclerView) findViewById(R.id.swipeMenuRecyclerview);
swipeMenuRecyclerview.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false));
}
}