学习就是一个慢慢学的一个过程,每一个过程都是不同的经历,在这个道路上我要坚持下去,从里面找到感觉就能达到你想要的结果。
好了多的不说 把今天学习的东西记录下来 这就是在以后的道路上就能慢慢饿学习积累不同的知识了
recyclerview中的item的子控件的点击事事件,在通过上网查询有很多方法,今天我自己使用定义接口的方法来添加点击事件
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<String> data;
LayoutInflater mlayoutInflater;
Context context;
private ItemOnClick mitemOnClick;
public MyAdapter(List<String> data, Context context) {
this.data = data;
this.context = context;
this.mlayoutInflater = LayoutInflater.from(context);
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = mlayoutInflater.inflate(R.layout.item_activity, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 26;
}
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private Button button1,button2;
public ViewHolder(View itemView) {
super(itemView);
button1=itemView.findViewById(R.id.button_1);
button2=itemView.findViewById(R.id.button_2);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button_1:
if(mitemOnClick!=null){
mitemOnClick.ItemOnClick(v,getPosition(),1);
}
break;
case R.id.button_2:
if(mitemOnClick!=null){
mitemOnClick.ItemOnClick(v,getPosition(),2);
}
break;
}
}
}
//item 的点击回调
第一步
public interface ItemOnClick{
void ItemOnClick(View view,int postion,int flag);
}
创建方法
public void setItemOnClick(ItemOnClick mitemOnClick){
this.mitemOnClick=mitemOnClick;
}
}
在activity中回调
adapter.setItemOnClick(new MyAdapter.ItemOnClick() {
@Override
public void ItemOnClick(View view, int postion, int flag) {
switch (flag){
case 1:
Toast.makeText(SecondActivity.this,"第一个",Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(SecondActivity.this,"第二",Toast.LENGTH_SHORT).show();
break;
}
}
});
这样就可以点击item中子控件的 点击事件