1. 程式人生 > >Recyclerview的條目點選事件

Recyclerview的條目點選事件

自定義的Adapter

public class GoodAdapter extends RecyclerView.Adapter<GoodHolder> implements View.OnClickListener {
    Context context;
    List<GoodBean.DataBean> data;
    private OnItemClickListener onItemClickListener=null;


    public GoodAdapter(Context context, List<GoodBean.DataBean> data, OnItemClickListener onItemClickListener
) { this.context=context; this.data=data; this.onItemClickListener=onItemClickListener; } @Override public GoodHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.good_list_layout, parent, false); GoodHolder goodHolder = new GoodHolder(view); view.setOnClickListener(this);
return goodHolder; } @Override public void onBindViewHolder(GoodHolder holder, int position) { //賦值 String[] split = data.get(position).getImages().split("\\|"); //設定圖片 Glide.with(context).load(split[0]).into(holder.getImage()); //設定標題 holder.getText_title().setText(data.get(position).getTitle()); //設定價格 holder.text_price.setText("¥"+data.get(position).getPrice()); //設定tag給回撥的引數當中 holder.itemView.setTag(position);
} @Override public int getItemCount() { return data.size(); } @Override public void onClick(View v) { onItemClickListener.onItemClick(v, (int) v.getTag()); } }

Avtivity
public class SearchActivity extends AppCompatActivity {
public OnItemClickListener onItemClickListener = new OnItemClickListener() {
    @Override
    public void onItemClick(View view, int position) {
        //i為當前條目

     } 
  
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_search);
}

}

自定義介面

public interface OnItemClickListener {
    void onItemClick(View view , int position);
}