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); } });
recycleview点击事件
最新推荐文章于 2024-06-17 09:11:58 发布