adapter button获取当前
时间: 2023-07-08 08:51:20 浏览: 60
我不太明白您的问题,请问您是在问如何通过adapter中的button获取当前的数据项吗?如果是的话,可以在button的点击事件中通过adapter的getItem方法获取当前数据项的值。具体的做法可以参考以下代码示例:
```
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<String> mData;
// Adapter的构造函数
public MyAdapter(List<String> data) {
mData = data;
}
// 创建ViewHolder
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false);
return new ViewHolder(view);
}
// 绑定ViewHolder
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.mButton.setText(mData.get(position));
holder.mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 在这里获取当前数据项的值
String item = getItem(position);
// 处理点击事件
// ...
}
});
}
// 获取数据项
public String getItem(int position) {
return mData.get(position);
}
// ViewHolder定义
static class ViewHolder extends RecyclerView.ViewHolder {
Button mButton;
ViewHolder(View itemView) {
super(itemView);
mButton = itemView.findViewById(R.id.button);
}
}
}
```
在上述代码中,我们在ViewHolder中定义了一个Button,并在onBindViewHolder方法中为Button设置了点击事件,通过getItem方法获取当前数据项的值。这样就可以在Button的点击事件中获取当前数据项的值了。