Android 在recyclerView中实现ItemClickListener

Android 在recyclerView中实现ItemClickListener,android,Android,我已经尝试了2天,在一个recyclerView中实现ItemClickListener,但它不起作用。请帮忙 如何在此.class中实现ItemClickListener public class Platos_Adapter extends RecyclerView.Adapter<Platos_Adapter.ViewHolder> { private ImageLoader imageLoader; private C

我已经尝试了2天,在一个recyclerView中实现ItemClickListener,但它不起作用。请帮忙

如何在此.class中实现ItemClickListener

public class Platos_Adapter extends
    RecyclerView.Adapter<Platos_Adapter.ViewHolder> {

            private ImageLoader imageLoader;
            private Context context;

            List<Estadisticas> estadisticas;

            public Platos_Adapter(List<Estadisticas> comida,Context context){
                super();
                //Getting all the comida
                this.estadisticas = estadisticas;
                this.context = context;
            }

            @Override
            public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
                View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.platos_row,
    parent, false);
                ViewHolder viewHolder = new ViewHolder(v);
                return viewHolder;
            }

            @Override
            public void onBindViewHolder(ViewHolder holder, int position) {

                holder.setOnClickListener((View.OnClickListener) this);

                Estadisticas superHero =  estadisticas.get(position);

                imageLoader = DecoracionLineaDivisoria.CustomVolleyRequest.getInstance(context).getImageLoader();

                imageLoader.get(superHero.getEscudo_Local(), ImageLoader.getImageListener(holder.escudo_local,
    R.mipmap.ic_launcher, android.R.drawable.ic_dialog_alert));

                holder.escudo_local.setImageUrl(superHero.getEscudo_Local(),
    imageLoader);
                holder.textViewEquipo_Local.setText(superHero.getEquipo_Local());
            }

            @Override
            public int getItemCount() {
                return estadisticas.size();
            }

            class ViewHolder extends RecyclerView.ViewHolder{
                public NetworkImageView escudo_local;
                public TextView textViewEquipo_Local;

                public ViewHolder(View itemView) {
                    super(itemView);

                    escudo_local = (NetworkImageView) itemView.findViewById(R.id.tv_esc_local);
                    textViewEquipo_Local= (TextView) itemView.findViewById(R.id.tv_ek_local);
        ;        }


                public void setOnItemClickListener(ViewHolder.OnItemClickListener
    onClickListener) {

                    public void onClick(View view) {

                        Toast.makeText(Platos_Adapter.this, "clicked" ,Toast.LENGTH_SHORT).show();

                        Estadisticas comida = estadisticas.get(getAdapterPosition());
                    }
                }
            }
        }
公共类Platos_适配器扩展
RecyclerView.适配器{
私有图像加载器;
私人语境;
列出遗产;
公共Platos_适配器(列表comida,上下文){
超级();
//得到所有的comida
this.estadisticas=estadisticas;
this.context=上下文;
}
@凌驾
public ViewHolder onCreateViewHolder(视图组父级,int-viewType){
视图v=LayoutInflater.from(parent.getContext())。充气(R.layout.platos_行,
父母,假);
视窗夹持器视窗夹持器=新视窗夹持器(v);
返回视图持有者;
}
@凌驾
公共无效onBindViewHolder(ViewHolder,int位置){
holder.setOnClickListener((View.OnClickListener)this);
Estadisticas superHero=Estadisticas.get(位置);
imageLoader=DecoracionLineaDivisoria.CustomVolleyRequest.getInstance(context.getImageLoader();
imageLoader.get(superHero.getEscudo_Local()、imageLoader.getImageListener(holder.escudo_Local、,
R.mipmap.ic_启动器,android.R.drawable.ic_对话框(警报);
holder.escudo_local.setImageUrl(superHero.getEscudo_local(),
图像加载器);
holder.textViewEquipo_Local.setText(superHero.getEquipo_Local());
}
@凌驾
public int getItemCount(){
返回estadisticas.size();
}
类ViewHolder扩展了RecyclerView.ViewHolder{
公共网络图像视图escudo_本地;
公共文本视图文本视图设备本地;
公共视图持有者(视图项视图){
超级(项目视图);
escudo_local=(NetworkImageView)itemView.findviewbyd(R.id.tv_esc_local);
textViewEquipo_Local=(TextView)itemView.findViewById(R.id.tv_ek_Local);
;        }
公共无效setOnItemClickListener(ViewHolder.OnItemClickListener
onclick(侦听器){
公共void onClick(视图){
Toast.makeText(Platos_Adapter.this,“clicked”,Toast.LENGTH_SHORT.show();
Estadisticas comida=Estadisticas.get(getAdapterPosition());
}
}
}
}
您可以使用此代码

public class Platos_Adapter extends RecyclerView.Adapter {
private ImageLoader imageLoader;
private Context context;
List<Estadisticas> estadisticas;

public Platos_Adapter(List<Estadisticas> comida,Context context){
    super();
    //Getting all the comida
    this.estadisticas = estadisticas;
    this.context = context;
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.platos_row, parent, false);
    ViewHolder viewHolder = new ViewHolder(v);
    return viewHolder;
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    holder.root.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(context, "clicked" ,Toast.LENGTH_SHORT).show();
            Estadisticas comida = estadisticas.get(getAdapterPosition());
        }
    });
    Estadisticas superHero =  estadisticas.get(position);
    imageLoader = DecoracionLineaDivisoria.CustomVolleyRequest.getInstance(context).getImageLoader();
    imageLoader.get(superHero.getEscudo_Local(), ImageLoader.getImageListener(holder.escudo_local, R.mipmap.ic_launcher, android.R.drawable.ic_dialog_alert));
    holder.escudo_local.setImageUrl(superHero.getEscudo_Local(), imageLoader);
    holder.textViewEquipo_Local.setText(superHero.getEquipo_Local());
}

@Override
public int getItemCount() {
    return estadisticas.size();
}

class ViewHolder extends RecyclerView.ViewHolder{
    public NetworkImageView escudo_local;
    public TextView textViewEquipo_Local;
    public View root;

    public ViewHolder(View itemView) {
        super(itemView);
        root=itemView;
        escudo_local = (NetworkImageView) itemView.findViewById(R.id.tv_esc_local);
        textViewEquipo_Local= (TextView) itemView.findViewById(R.id.tv_ek_local);
    }
}
公共类Platos_适配器扩展了RecyclerView.Adapter{ 私有图像加载器; 私人语境; 列出遗产; 公共Platos_适配器(列表comida,上下文){ 超级(); //得到所有的comida this.estadisticas=estadisticas; this.context=上下文; } @凌驾 public ViewHolder onCreateViewHolder(视图组父级,int-viewType){ 视图v=LayoutInflater.from(parent.getContext()).flate(R.layout.platos_行,parent,false); 视窗夹持器视窗夹持器=新视窗夹持器(v); 返回视图持有者; } @凌驾 公共无效onBindViewHolder(ViewHolder,int位置){ holder.root.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图){ Toast.makeText(上下文“单击”,Toast.LENGTH_SHORT.show(); Estadisticas comida=Estadisticas.get(getAdapterPosition()); } }); Estadisticas superHero=Estadisticas.get(位置); imageLoader=DecoracionLineaDivisoria.CustomVolleyRequest.getInstance(context.getImageLoader(); imageLoader.get(superHero.getEscudo_Local(),imageLoader.getImageListener(holder.escudo_Local,R.mipmap.ic_launcher,android.R.drawable.ic_dialog_alert)); holder.escudo_local.setImageUrl(superHero.getEscudo_local(),imageLoader); holder.textViewEquipo_Local.setText(superHero.getEquipo_Local()); } @凌驾 public int getItemCount(){ 返回estadisticas.size(); } 类ViewHolder扩展了RecyclerView.ViewHolder{ 公共网络图像视图escudo_本地; 公共文本视图文本视图设备本地; 民意根; 公共视图持有者(视图项视图){ 超级(项目视图); root=itemView; escudo_local=(NetworkImageView)itemView.findviewbyd(R.id.tv_esc_local); textViewEquipo_Local=(TextView)itemView.findViewById(R.id.tv_ek_Local); } } 您可以使用此代码

public class Platos_Adapter extends RecyclerView.Adapter {
private ImageLoader imageLoader;
private Context context;
List<Estadisticas> estadisticas;

public Platos_Adapter(List<Estadisticas> comida,Context context){
    super();
    //Getting all the comida
    this.estadisticas = estadisticas;
    this.context = context;
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.platos_row, parent, false);
    ViewHolder viewHolder = new ViewHolder(v);
    return viewHolder;
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    holder.root.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(context, "clicked" ,Toast.LENGTH_SHORT).show();
            Estadisticas comida = estadisticas.get(getAdapterPosition());
        }
    });
    Estadisticas superHero =  estadisticas.get(position);
    imageLoader = DecoracionLineaDivisoria.CustomVolleyRequest.getInstance(context).getImageLoader();
    imageLoader.get(superHero.getEscudo_Local(), ImageLoader.getImageListener(holder.escudo_local, R.mipmap.ic_launcher, android.R.drawable.ic_dialog_alert));
    holder.escudo_local.setImageUrl(superHero.getEscudo_Local(), imageLoader);
    holder.textViewEquipo_Local.setText(superHero.getEquipo_Local());
}

@Override
public int getItemCount() {
    return estadisticas.size();
}

class ViewHolder extends RecyclerView.ViewHolder{
    public NetworkImageView escudo_local;
    public TextView textViewEquipo_Local;
    public View root;

    public ViewHolder(View itemView) {
        super(itemView);
        root=itemView;
        escudo_local = (NetworkImageView) itemView.findViewById(R.id.tv_esc_local);
        textViewEquipo_Local= (TextView) itemView.findViewById(R.id.tv_ek_local);
    }
}
公共类Platos_适配器扩展了RecyclerView.Adapter{ 私有图像加载器; 私人语境; 列出遗产; 公共Platos_适配器(列表comida,上下文){ 超级(); //得到所有的comida this.estadisticas=estadisticas; this.context=上下文; } @凌驾 public ViewHolder onCreateViewHolder(视图组父级,int-viewType){ 视图v=LayoutInflater.from(parent.getContext()).flate(R.layout.platos_行,parent,false); 视窗夹持器视窗夹持器=新视窗夹持器(v); 返回视图持有者; } @凌驾 公共无效onBindViewHolder(ViewHolder,int位置){ holder.root.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图){ Toast.makeText(上下文“单击”,Toast.LENGTH_SHORT.show(); Estadisticas comida=Estadisticas.get(getAdapterPosition()); } }); Estadisticas superHero=Estadisticas.get(位置); imageLoader=DecoracionLineaDivisoria.CustomVolleyRequest.getInstance(context.getImageLoader(); imageLoader.get(superHero.getEscudo_Local(),imageLoader.getImageListener(holder.escudo_Local,R.mipmap.ic_launcher,android.R.drawable.ic_dialog_alert)); holder.escudo_local.setImageUrl(superHero.getEscudo_local(),imageLoader); holder.textViewEquipmo_Local.se
 holder.view.setOnClickListener(new View.OnClickListener() {
        @Override
      public void onClick(View view) {
         Toast.makeText(Platos_Adapter.this, "clicked" ,Toast.LENGTH_SHORT).show();

         Estadisticas comida = estadisticas.get(getAdapterPosition());
  }
 });
public class Platos_Adapter extends RecyclerView.Adapter<Platos_Adapter.ViewHolder> {
    private ImageLoader imageLoader;
    private Context context;
    List<Estadisticas> estadisticas;

    public Platos_Adapter(List<Estadisticas> estadisticas, Context context) {
        super();
        this.estadisticas = estadisticas;
        this.context = context;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from( parent.getContext() ).inflate( R.layout.platos_row, parent, false );
        ViewHolder viewHolder = new ViewHolder( v );
        return viewHolder;
    }

    public void onBindViewHolder(ViewHolder holder, final int position) {
        holder.root.setOnClickListener( new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                Toast.makeText(context, estadisticas.get(position).getEquipo_Local(), Toast.LENGTH_SHORT).show();

                Estadisticas estadisticas1 = estadisticas.get( getAdapterPosition() );
            }

            private int getAdapterPosition() {
                return 0;
            }
        } );
        Estadisticas superHero = estadisticas.get( position );
        imageLoader = DecoracionLineaDivisoria.CustomVolleyRequest.getInstance( context ).getImageLoader();
        imageLoader.get( superHero.getEscudo_Local(), ImageLoader.getImageListener( holder.escudo_local, R.mipmap.ic_launcher, android.R.drawable.ic_dialog_alert ) );
        holder.escudo_local.setImageUrl( superHero.getEscudo_Local(), imageLoader );
        holder.textViewEquipo_Local.setText( superHero.getEquipo_Local() );
    }

    @Override
    public int getItemCount() {
        return estadisticas.size();
    }

    class ViewHolder extends RecyclerView.ViewHolder {
        public NetworkImageView escudo_local;
        public TextView textViewEquipo_Local;
        public View root;

        public ViewHolder(View itemView) {
            super( itemView );
            root = itemView;
            escudo_local = (NetworkImageView) itemView.findViewById( R.id.tv_esc_local );
            textViewEquipo_Local = (TextView) itemView.findViewById( R.id.tv_ek_local );
            textViewCategoria = (TextView) itemView.findViewById( R.id.tv_ek_visi );
        }
    }
}
<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="@dimen/detail_backdrop_height"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:fitsSystemWindows="true">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleMarginStart="48dp"
        app:expandedTitleMarginEnd="64dp">

        <ImageView
            android:id="@+id/backdrop"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop"
            android:fitsSystemWindows="true"
            app:layout_collapseMode="parallax" />

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            app:layout_collapseMode="pin" />

    </android.support.design.widget.CollapsingToolbarLayout>

</android.support.design.widget.AppBarLayout>

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:paddingTop="24dp">

        <android.support.v7.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="@dimen/card_margin">

            <LinearLayout
                style="@style/Widget.CardContent"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <TextView
                    android:id="@+id/tv_info_title"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="yyyyyyyyyyyyyyyyyy"
                    android:textAppearance="@style/TextAppearance.AppCompat.Title" />

                <TextView
                    android:id="@+id/tv_info"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="ddddddddddddddd" />

            </LinearLayout>

        </android.support.v7.widget.CardView>

        <android.support.v7.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="@dimen/card_margin"
            android:layout_marginLeft="@dimen/card_margin"
            android:layout_marginRight="@dimen/card_margin">

            <LinearLayout
                style="@style/Widget.CardContent"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <TextView
                    android:id="@+id/tv_categoria_title"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="mmmmmmmmmmmmmmmmmmm"
                    android:textAppearance="@style/TextAppearance.AppCompat.Title" />

                <TextView
                    android:id="@+id/tv_categoria"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="aaaaaaaaaaaaaaaaaaaaaa" />

            </LinearLayout>

        </android.support.v7.widget.CardView>

        <android.support.v7.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="@dimen/card_margin"
            android:layout_marginLeft="@dimen/card_margin"
            android:layout_marginRight="@dimen/card_margin">

            <LinearLayout
                style="@style/Widget.CardContent"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="xxxxxxxxxxxxxxxxx"
                    android:textAppearance="@style/TextAppearance.AppCompat.Title" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="ddddddddddd" />

            </LinearLayout>

        </android.support.v7.widget.CardView>

    </LinearLayout>

</android.support.v4.widget.NestedScrollView>
public class Platos_Adapter extends RecyclerView.Adapter<Platos_Adapter.ViewHolder> {

    private ImageLoader imageLoader;
    private Context context;

    List<Estadisticas> estadisticas;

    public Platos_Adapter(List<Estadisticas> estadisticas, Context context) {
        super();
        this.estadisticas = estadisticas;
        this.context = context;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from( parent.getContext() ).inflate( R.layout.platos_row, parent, false );
        ViewHolder viewHolder = new ViewHolder( v );
        return viewHolder;
    }

    public void onBindViewHolder(ViewHolder holder, final int position) {
        holder.root.setOnClickListener( new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                //Toast.makeText(context, "this is my Toast message!!! =)",
                        //Toast.LENGTH_LONG).show();

                //Toast.makeText(context, estadisticas.get(position).getEquipo_Local(), Toast.LENGTH_SHORT).show();

                Intent intent= new Intent(context, DetailActivity.class);

                intent.putExtra("Nombre", estadisticas.get(position).getEquipo_Local());
                intent.putExtra("Categoria", estadisticas.get(position).getEquipo_Visitante());
                intent.putExtra("Imagen", estadisticas.get(position).getEscudo_Local());

                context.startActivity(intent);


                Estadisticas estadisticas1 = estadisticas.get( getAdapterPosition() );
            }

            private int getAdapterPosition() {
                return 0;
            }
        } );
        Estadisticas superHero = estadisticas.get( position );
        imageLoader = DecoracionLineaDivisoria.CustomVolleyRequest.getInstance( context ).getImageLoader();
        imageLoader.get( superHero.getEscudo_Local(), ImageLoader.getImageListener( holder.escudo_local, R.mipmap.ic_launcher, android.R.drawable.ic_dialog_alert ) );
        holder.escudo_local.setImageUrl( superHero.getEscudo_Local(), imageLoader );
        holder.textViewEquipo_Local.setText( superHero.getEquipo_Local() );
        //holder.textViewCategoria.setText( superHero.getEquipo_Visitante() );
    }

    @Override
    public int getItemCount() {
        return estadisticas.size();
    }

    class ViewHolder extends RecyclerView.ViewHolder {
        public NetworkImageView escudo_local;
        public TextView textViewEquipo_Local;
        //public TextView textViewCategoria;
        public View root;

        public ViewHolder(View itemView) {
            super( itemView );
            root = itemView;
            escudo_local = (NetworkImageView) itemView.findViewById( R.id.tv_esc_local );
            textViewEquipo_Local = (TextView) itemView.findViewById( R.id.tv_ek_local );
            //textViewCategoria = (TextView) itemView.findViewById( R.id.tv_ek_visi );
        }
    }
}