有關RecyclerView的用法java
RecyclerView添加點擊監聽第一種方法:ide
在自定義的Adapter中的,onBindViewHolder方法中設置函數
@Override public void onBindViewHolder(LinearViewHolder holder, int position) { //將條目信息設置上 Student stu = (Student) mList.get(position); holder.idTv.setText(""+stu.getId()); holder.nameTv.setText(stu.getName()); //添加點擊監聽事件 holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(mContext, "我被點擊了", Toast.LENGTH_SHORT).show(); } }); }
第二種方法:經過回調post
在自定義的Adapter中建立一個接口this
//而後聲明 private OnItemClickListener listener; //而後建立構造函數,傳入一個listener //而後在onBindViewHolder方法中將postion傳入進去,以下 /* holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { listener.onClick(position); } }); */ //而後再外面,參數中傳入new .. public interface OnItemClickListener{ void onClick(int pos); }
recyclerView.setAdapter(new LinearAdapter(this, ls, new LinearAdapter.OnItemClickListener() { @Override public void onClick(int pos) { Toast.makeText(RecyclerActivity.this, "點擊了"+pos, Toast.LENGTH_SHORT).show(); } }));