In meinem Adapter für meine RecyclerView versuche ich Text, wenn Text auf jeder Zeile angeklickt wird, aber ich bekomme einen Kontextfehler. Ich bin ein Anfänger Programmierer, also bin ich mir nicht sicher, was ich tun soll. Danke im Voraus. Ich versuche auch, eine App zu erstellen, in der es in jeder Zeile einen Chat für Nachrichtengruppen gibt, den jeder sehen kann, und jeder Benutzer hat die Möglichkeit, eine Zeile mit dem von ihnen gewählten Titel hinzuzufügen. Wenn mir jemand dabei helfen könnte, wäre das großartig! Und sehr geschätzt werden, weil ich ziemlich Anfänger bin. Vielen Dank!Kontextfehler im Adapter für RecyclerView
Der Fehler, den ich bekomme, findet statt, wo ich meinen Toast habe, wo es Kontext sagt.
Adaper Code:
package com.example.patri.index01;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.Collections;
import java.util.List;
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
private LayoutInflater inflater;
List<Information> data= Collections.emptyList();
public MyAdapter(Context context, List<Information> data){
inflater=LayoutInflater.from(context);
this.data=data;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view=inflater.inflate(R.layout.custom_row, parent,false);
MyViewHolder holder=new MyViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, final int position) {
Information current=data.get(position);
holder.title.setText(current.title);
holder.icon.setImageResource(current.iconId);
holder.title.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "Item clicked at " +position, Toast.LENGTH_SHORT)
}
});
}
@Override
public int getItemCount() {
return data.size();
}
class MyViewHolder extends RecyclerView.ViewHolder{
TextView title;
ImageView icon;
public MyViewHolder(View itemView) {
super(itemView);
title= (TextView)itemView.findViewById(R.id.listText);
icon= (ImageView) itemView.findViewById(R.id.listIcon);
}
}
}
Informationen Klasse:
public class Information {
int iconId;
String title;
}
Sie nicht 'context' noch –