在适配器中直接给itemView设置点击事件,然后进行条目的操作。
@Override
public void onBindViewHolder(final GoodsViewHolder holder, final int position) {
holder.title.setText(data.get(position).getTitle())
String images = data.get(position).getImages()
String pic = images.split("\\|")[0]
holder.img.setImageURI(pic)
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(context,position+"",Toast.LENGTH_SHORT).show()
}
})
}
或者在这里直接给图文设置(在适配器直接设置)
@Override
public TextViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
final View view = LayoutInflater.from(context).inflate(R.layout.item, null);
final TextViewHolder holder = new TextViewHolder(view);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
context.startActivity(new Intent(context, SecondListActivity.class)
.putExtra("pscid", list.get(holder.getLayoutPosition()).getPscid()));
}
});
return holder;
}
在适配器中设置接口,然后在Activity中进行点击事件。
在适配器设置接口
private MyItemClick myItemClick;
public interface MyItemClick{
void onItemClick(View view, int postion);
}
public void setOnItemClick(MyItemClick myItemClick){
this.myItemClick = myItemClick;
}
然后在onBindViewHolder方法中设置itemview的点击事件
holder.itemView.setOnLongClickListener(new View.OnClickListener() {
@Override
public boolean onClick(View v) {
myItemClick.onItemClick(v,position);
return true;
}
});
最后在Activity方法中进行点击事件
new一个适配器,用适配器调用点击事件的接口
myAdapter.setOnItemClick(new MyAdapter.MyItemClick() {
@Override
public void onItemClick(View view, final int postion) {
}
});