首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OnClickListener for CardView?

OnClickListener for CardView?
EN

Stack Overflow用户
提问于 2014-11-22 19:51:40
回答 4查看 88.3K关注 0票数 28

如何将OnClickListener附加到CardView?我希望每一张卡片有一个不同的行动时,点击。

我有一个RecyclerView,它有一个显示卡的自定义适配器。实施就是这样的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-11-23 09:05:47

您应该在您的OnItemClickListener类中实现ViewHolder,并将当前项传递给每个onBindViewHolder()上的ViewHolder实例。

来自这个职位

代码语言:javascript
复制
public static class ViewHolder extends RecyclerView.ViewHolder {
    public View view;
    public Item currentItem;

    public ViewHolder(View v) {
        super(v);
        view = v;
        view.setOnClickListener(new View.OnClickListener() {
            @Override public void onClick(View v) {
                // item clicked
            }
        });
    }
}

@Override public void onBindViewHolder(ViewHolder viewHolder, int i) {
    viewHolder.currentItem = items.get(i);
}
票数 41
EN

Stack Overflow用户

发布于 2017-04-28 00:03:31

这是我解决这个问题的办法:

  1. 首先在ViewHolder类中添加对视图视图对象的引用 公共静态类TouristViewHolder扩展了RecyclerView.ViewHolder{公共ImageView img;公共TextView名称;公共TextView描述;公共RatingBar评级;公共视图;// <其余代码}
  2. 接下来,在方法onBindViewHolder(final MyViewHolder holder, final int position)中,添加一个侦听器并设置新的Intent。 @ onBindViewHolder(TouristViewHolder touristViewHolder,最终int位置){touristViewHolder.view.setOnClickListener(新的View.OnClickListener() { // <-)

它对我很好,希望它能帮助到其他人。

票数 5
EN

Stack Overflow用户

发布于 2016-09-21 10:55:33

  1. 您只需添加onClick侦听器,就可以在onBindViewHolder中添加您想要的项。很容易获得那个位置的值。请检查下面的代码。 @Override void onBindViewHolder(最终MyViewHolder持有人,最终int位置){ holder.description.setText(Html.fromHtml(html2text(results.get(position).getSummary().toString())));holder.url.setText(Html.fromHtml(html2text(results.get(position).getUrl().toString())));Holder.url.setOnClickListener(新View.OnClickListener() ){ @Override (查看视图){意图intent=new意图( mContext,DetailsActivity.class);intent.putExtra("url",results.get(位置).getUrl().toString());mContext。startActivity(意图);};
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27081787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档