public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder> implements View.OnClickListener { private Context mContext; private List<UserData.DataBean> data; private Handler mHandler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); byte[] bytess = (byte[]) msg.obj; Bitmap bitmap = BitmapFactory.decodeByteArray(bytess,0,bytess.length); // holder.image.setImageBitmap(bitmap); } }; public RecyclerAdapter(Context context, List<UserData.DataBean> data) { mContext = context; this.data = data; } @Override public RecyclerAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View itemview = View.inflate(mContext, R.layout.item_layout, null); ViewHolder viewHolder = new ViewHolder(itemview); viewHolder.delete.setOnClickListener(this); return viewHolder; } @Override public void onBindViewHolder(RecyclerAdapter.ViewHolder holder, int position) { holder.title_text.setText(data.get(position).getTitle()); holder.name_text.setText(data.get(position).getAuthor_name()); Utils.doget(data.get(position).getThumbnail_pic_s(), new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { byte[] bytes = response.body().bytes(); Message message = mHandler.obtainMessage(); message.obj = bytes; mHandler.sendMessage(message); } }); holder.delete.setTag(position); } @Override public int getItemCount() { return data.size(); } @Override public void onClick(View v) { if (mOnItemClickLiener!=null){ mOnItemClickLiener.onItemClickLiener((Integer) v.getTag()); } } class ViewHolder extends RecyclerView.ViewHolder { private final TextView title_text; private final TextView name_text; private final ImageView image; private final Button delete; public ViewHolder(View itemView) { super(itemView); title_text = itemView.findViewById(R.id.text_title); delete = (Button) itemView.findViewById(R.id.delete); name_text = (TextView) itemView.findViewById(R.id.text_text2); image = (ImageView) itemView.findViewById(R.id.imageview); } } public interface OnItemClickLiener{ void onItemClickLiener(int position); } private OnItemClickLiener mOnItemClickLiener; public void setOnItemClickLiener(OnItemClickLiener onItemClickLiener){ mOnItemClickLiener = onItemClickLiener; } }
recyclerview适配器加点击事件
最新推荐文章于 2024-06-17 09:11:58 发布