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;
}
}
4 Réponses :
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
L'URI est correcte et je reçois toujours cette erreur
Utilisez ceci: p>
titulaire.userextext.setText (uri.tostring () + ""); p> blockQuote>
Ceci peut gérer tout type de données de données p>
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
}
OK donc j'ai trouvé le problème, je gonflais le mauvais fichier XML. Merci tout le monde de m'aider et désolé de perdre votre temps p> Voir la vue = layoutinfler.from (parent.getcontext ()). Gonflez (r.layout.recyClerview_items, parent, false); code>
Ici au lieu de gonfler items3.xml code>, je gonflais recyclerview_items code> en raison de laquelle je reçois l'erreur. p>
Post
imageUploadinfo code> modèle. Ma meilleure estimation: -uploadinfo.getimagename () code> retourne un type autre que b>chaîne code>. Faire la méthode Retour String. B>