CustomListView 中不能在adapter中对item进行监听

CustomListView 中不能在adapter中对item进行监听 否则会使滑动很卡  也不能对adapter的xml文件中的LinearLayout设置id 和 设置点击有效

这个问题我找了一个多月  

                                                                                                    记于 2015.1.21

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 RecyclerView 的 Adapter 为按钮设置监听,可以按照以下步骤进行: 1. 在 RecyclerView 的 Adapter 创建 ViewHolder,并且在 ViewHolder 绑定按钮。 2. 在 onCreateViewHolder 方法,利用 LayoutInflater 实例化 ViewHolder,并将 ViewHolder 对象返回。 3. 在 onBindViewHolder 方法,为 ViewHolder 的按钮设置监听器,并在触发事件时弹出 Toast 信息。 在代码大致实现如下: ``` public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { // 数据集 private List<String> mList; // 构造方法 public MyAdapter(List<String> list) { this.mList = list; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { // 实例化布局文件 View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item, parent, false); // 创建 ViewHolder 对象 ViewHolder viewHolder = new ViewHolder(view); // 返回 ViewHolder 对象 return viewHolder; } @Override public void onBindViewHolder(ViewHolder holder, int position) { // 获取数据 String text = mList.get(position); // 设置文本显示 holder.mTextView.setText(text); // 设置按钮监听 holder.mButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 显示 Toast 信息 Toast.makeText(v.getContext(), "Button is clicked.", Toast.LENGTH_SHORT).show(); } }); } @Override public int getItemCount() { // 返回数据集的大小 return mList.size(); } // 创建 ViewHolder 类 public static class ViewHolder extends RecyclerView.ViewHolder { // 控件 public TextView mTextView; public Button mButton; // 构造方法 public ViewHolder(View itemView) { super(itemView); // 绑定控件 mTextView = (TextView) itemView.findViewById(R.id.text_view); mButton = (Button) itemView.findViewById(R.id.button); } } } ``` 其item.xml 布局文件包含 TextView 和 Button。 Hope it helps!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值