private ArrayList<String> getdata(){
ArrayList<String> s = new ArrayList<>();
for (int i=0;i<50;i++){
s.add(i+"temp");
}
return s;
}
linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
//设置布局管理器
myAdapter = new MyAdapter(getdata());
lv.setLayoutManager(linearLayoutManager); lv.setSwipeMenuCreator(swipeMenuCreator);
lv.setAdapter(myAdapter);
public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
ArrayList<String> mData;
public MyAdapter(ArrayList<String> data) {
this.mData = data;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item, parent, false);
ViewHolder viewHolder = new ViewHolder(v);
return viewHolder;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
((ViewHolder)holder).tv.setText(mData.get(position));
}
@Override
public int getItemCount() {
return mData==null?0:mData.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
TextView tv;
public ViewHolder(View itemView) {
super(itemView);
tv = itemView.findViewById(R.id.tv_item);
}
}
}
recyclerview侧滑删除(三方SwipeRecyclerView)
1、
侧滑菜单Item点击监听
SwipeMenuItemClickListener mMenuItemClickListener = new SwipeMenuItemClickListener() {
@Override
public void onItemClick(SwipeMenuBridge menuBridge) {
// 任何操作必须先关闭菜单,否则可能出现Item菜单打开状态错乱。
menuBridge.closeMenu();
int direction = menuBridge.getDirection(); // 左侧还是右侧菜单。
int adapterPosition = menuBridge.getAdapterPosition(); // RecyclerView的Item的position。
Log.i("position",adapterPosition+"");
strings.remove(adapterPosition);
myAdapter.notifyItemRemoved(adapterPosition);
int menuPosition = menuBridge.getPosition(); // 菜单在RecyclerView的Item中的Position。
}
};
lv.setSwipeMenuItemClickListener(mMenuItemClickListener);
2、
//创建菜单
SwipeMenuCreator menuCreator=new SwipeMenuCreator() {
@Override
public void onCreateMenu(SwipeMenu swipeLeftMenu, SwipeMenu swipeRightMenu, int viewType) {
SwipeMenuItem deleteItem = new SwipeMenuItem(getApplicationContext())
.setText("删除")
.setTextColor(Color.BLACK)
.setWidth(RecyclerView.LayoutParams.MATCH_PARENT)
.setHeight(RecyclerView.LayoutParams.MATCH_PARENT)
.setBackgroundColor(Color.GREEN);
swipeRightMenu.addMenuItem(deleteItem); // 在Item左侧添加一个菜单。
}
};
lv.setSwipeMenuCreator(menuCreator);
网友评论