美文网首页
recyclerview

recyclerview

作者: 最黑暗的自己 | 来源:发表于2018-03-19 15:18 被阅读10次
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);

相关文章

网友评论

      本文标题:recyclerview

      本文链接:https://www.haomeiwen.com/subject/lzkpqftx.html