美文网首页
recyclerview的item单击事件的设计

recyclerview的item单击事件的设计

作者: 名字_都被占了 | 来源:发表于2018-08-25 17:55 被阅读0次

首先recyclerview的item单击事件是通过接口回调的方式来实现的,接口回调实质就是一个类A将获取到的数据传递给接口,然后类A的示例通过接口来获取数据。

第一步:在你的设配器中声明对外的接口,如下:
   public void setJieKou(RecyclerInterface recyclerInterface) {
        this.recyclerInterface = recyclerInterface;
    }
第二步:在onCreateViewHolder方法中给根布局绑定单击事件,如下:
 public MyHolderView onCreateViewHolder(ViewGroup parent, int viewType) {
        View view=LayoutInflater.from(context).inflate(R.layout.recycler_item,null);
        view.setOnClickListener(this);
        myHolderView=new MyHolderView(view);
        return myHolderView;
    }
第三步:在onBindViewHolder方法中给根布局添加position数据,如下:
    public void onBindViewHolder(MyHolderView holder, int position) {
        if(position==5){
            holder.more.setVisibility(View.VISIBLE);
            holder.linearLayout.setVisibility(View.GONE);
            holder.itemView.setTag(position);
        }else {
            holder.textView.setText(listDatas.get(position).getArticle_name());
            RequestOptions requestOptions=RequestOptions.centerCropTransform().optionalTransform(new MyTransition(context));
            Glide.with(context).applyDefaultRequestOptions(requestOptions).load(listDatas.get(position).getContentPictures().get(0)).into(holder.imageView);
            holder.itemView.setTag(position);
        }
    }
第四步:然后在根布局的单击事件中将根布局和position传递给接口,如下:
    public void onClick(View v) {
        recyclerInterface.danJi(v, (Integer) v.getTag());
    }
第五步:在调用设配器的地方,设置回调即可,如下:
 myAdapter.setJieKou(new RecyclerInterface() {
            @Override
            public void danJi(View view, int position) {
                if (position == 5) {
                    Intent intent = new Intent(getActivity(), GaoXiaoActivity.class);
                    startActivity(intent);
                } else
                    click_xiaohua(position);
            }
        });
注:
public interface RecyclerInterface {
    void danJi(View view, int position);
}

相关文章

网友评论

      本文标题:recyclerview的item单击事件的设计

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