0
votes

Obtenir une tentative d'erreur d'appeler la méthode virtuelle 'void android.widget.textview.setText (java.lang.charsequence)' sur une référence d'objet null

J'essaie de définir une vue Recycler dans Android, mais la classe Adapter me donne une erreur comme mentionné dans le titre. J'ai cherché et trouvé Ce . Les réponses ici disent qu'il y a une inadéquation dans la nommée. J'ai vérifié mes noms mais j'ai toujours l'erreur.

Voici l'adaptateur: p>

public class ImageUploadInfo {

    public String imageName;

    public String imageURL;

    public ImageUploadInfo() {

    }

    public ImageUploadInfo(String name, String url) {

        this.imageName = name;
        this.imageURL= url;
    }

    public String getImageName() {
        return imageName;
    }

    public String getImageURL() {
        return imageURL;
    }
    }


1 commentaires

Post imageUploadinfo modèle. Ma meilleure estimation: - uploadinfo.getimagename () retourne un type autre que chaîne . Faire la méthode Retour String.


4 Réponses :


1
votes
public class RecyclerViewAdapter3 extends RecyclerView.Adapter<RecyclerViewAdapter3.ViewHolder> {

Context context3;
List<ImageUploadInfo> MainImageUploadInfoList;


public RecyclerViewAdapter3(Context context, List<ImageUploadInfo> TempList) {

this.MainImageUploadInfoList = TempList;

this.context3 = context;
}

public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview_items, parent, false);

ViewHolder viewHolder = new ViewHolder(view);

return viewHolder;
}

@Override
public int getItemCount() {

return MainImageUploadInfoList.size();
 }

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
ImageUploadInfo UploadInfo = MainImageUploadInfoList.get(position);

holder.imageNameTextView.setText(UploadInfo.getImageName());

Uri uri = Uri.parse(UploadInfo.getImageURL());
Log.d("TAGGG" , ""+uri);
holder.userText.setText(""+uri.toString());
}

class ViewHolder extends RecyclerView.ViewHolder {
public TextView imageNameTextView ;
public TextView userText;


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

    userText = (TextView) itemView.findViewById(R.id.textView13);

    imageNameTextView = (TextView) itemView.findViewById(R.id.caption);
   }
}
check xml file name too

1 commentaires

L'URI est correcte et je reçois toujours cette erreur



1
votes

Utilisez ceci:

titulaire.userextext.setText (uri.tostring () + "");

Ceci peut gérer tout type de données de données


0 commentaires

1
votes

Dans votre Onbindviewholder CODE> Essayez de lancer le support sur Vue exploitant CODE>

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

    ViewHolder holderView = (ViewHolder)holder; // <-- Cast the ViewHolder

    ImageUploadInfo UploadInfo = MainImageUploadInfoList.get(position);

    holderView.imageNameTextView.setText(UploadInfo.getImageName());  // <-- use holderView instead of holder

    Uri uri = Uri.parse(UploadInfo.getImageURL());
    Log.d("TAGGG" , ""+uri);
    holderView.userText.setText(uri.toString());   // <-- use holderView instead of holder
}


0 commentaires

2
votes

OK donc j'ai trouvé le problème, je gonflais le mauvais fichier XML. Voir la vue = layoutinfler.from (parent.getcontext ()). Gonflez (r.layout.recyClerview_items, parent, false); Ici au lieu de gonfler items3.xml , je gonflais recyclerview_items en raison de laquelle je reçois l'erreur.

Merci tout le monde de m'aider et désolé de perdre votre temps


0 commentaires