recycleview点击事件

来源:互联网 发布:mac上看美剧的软件 编辑:程序博客网 时间:2024/05/21 19:44
package com.baway.test.tianmengjie;import android.content.Context;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.TextView;import com.nostra13.universalimageloader.core.ImageLoader;import java.util.ArrayList;/** * Created by T_baby on 17/10/25. */public class Myfouradapter extends RecyclerView.Adapter implements View.OnClickListener{    ArrayList<Super> list;    Context context;   ImageLoader loader;    private OnItemClickListener mOnItemClickListener = null;    public Myfouradapter(ArrayList<Super> list, Context context) {        this.list = list;        this.context = context;        loader=ImageLoader.getInstance();    }    @Override    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        View view = LayoutInflater.from(context).inflate(R.layout.zhuitem, null, false);        ViewHolde viewHolde=new ViewHolde(view);        //将创建的View注册点击事件        view.setOnClickListener(this);        return viewHolde;    }    @Override    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {          ViewHolde holde1 = (ViewHolde) holder;        loader.displayImage(list.get(position).getBillboard().getPic_s192(), holde1.img);        holde1.yu.setText(list.get(position).getBillboard().getName());        holde1.name.setText(list.get(position).getBillboard().getComment());        //将position保存在itemView的Tag中,以便点击时进行获取        holde1.itemView.setTag(position);    }    @Override    public int getItemCount() {        return list.size();    }    public class ViewHolde extends RecyclerView.ViewHolder {        ImageView img;        TextView name, yu;        public ViewHolde(View itemView) {            super(itemView);            img = (ImageView) itemView.findViewById(R.id.mucishead);            yu = (TextView) itemView.findViewById(R.id.musicyu);            name = (TextView) itemView.findViewById(R.id.musicname);        }    }    //define interface    public static interface OnItemClickListener {        void onItemClick(View view , int position);    }    public void setOnItemClickListener(OnItemClickListener listener) {        this.mOnItemClickListener = listener;    }    public void onClick(View v) {        if (mOnItemClickListener != null) {//注意这里使用getTag方法获取position            mOnItemClickListener.onItemClick(v,(int)v.getTag());        }    }}
recycleviw.setAdapter(adapter);adapter.setOnItemClickListener(new Myfouradapter.OnItemClickListener() {    @Override    public void onItemClick(View view, int position) {        Intent intent = new Intent(getActivity(), Three.class);        intent.putExtra("Music", (Serializable) list.get(position).getSong_list());        startActivity(intent);    }});
 
原创粉丝点击