我应该在 OnBindViewHolder() 方法中设置 ReyclerView

我有一个RecyclerView,我每秒更新它的项目 30 次。现在我的问题是:


如果我在方法中设置每个项目的 OnClickListner,每秒将创建onBindViewHolder(final ViewHolder holder, int position)30 个对象。View.OnClickListner这会导致问题吗?谢谢。


  @Override

  public void onBindViewHolder(final ViewHolder holder, int position) {


    holder.root.setOnClickListener(new View.OnClickListener() {

      @Override

      public void onClick(View v) {

        //do something

      }

    });

  }


跃然一笑
浏览 209回答 3
3回答

陪伴而非守候

这是一个很好的资源:Recyclerview-listenerpublic interface OnItemClickListener {    void onItemClick(ContentItem item);}public void bind(final ContentItem item, final OnItemClickListener listener) {    ...    itemView.setOnClickListener(new View.OnClickListener() {        @Override public void onClick(View v) {            listener.onItemClick(item);        }    });}

POPMUISE

本文中实现View.OnClickListenerRetcyerView 的 Items 的方法 非常好。它还管理项目选择。

红颜莎娜

你可以onBindViewHolder用来设置可点击并且它工作像这种情况@Overridepublic void onBindViewHolder(MyViewHolder holder, final int position) {    holder.cardView.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            Toast.makeText(mContext, "Clicked", Toast.LENGTH_SHORT).show();            Intent intent = new Intent(mContext, NextModel.class);            mContext.startActivity(intent);        }    });}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java