Ich bekomme einen String aus meiner Server-Anfrage für ein Element in meinem Recyclerview und es gibt mir PDF Word oder Image. Jetzt möchte ich verschiedene Bilder in meinem recyclerviewitem für jeden String anzeigen. Dies ist mein Code:recycler view mit verschiedenen Bildern von serverdata
@Override
public void onBindViewHolder(ScriptViewHolder holder, int position) {
final ItemObject currentScript = scriptObjects.get(position);
holder.scriptName.setText(currentScript.getScriptName());
holder.scriptDate.setText(currentScript.getScriptDate());
holder.scriptUser.setText(currentScript.getScriptUser());
String whichformat = currentScript.getScriptFormat();
switch (whichformat) {
case "PDF":
imagename = "ic_picture_as_pdf_black_24dp.png";
case "Word":
imagename = "ic_insert_drive_file_black_24dp.png";
case "Image":
imagename = "ic_photo_library_black_24dp.png";
}
int resourceId = context.getResources().getIdentifier(imagename, null , null);
holder.scriptIcon.setImageDrawable(ContextCompat.getDrawable(context, resourceId));
ich einen Fehler:
FATAL AUSNAHME: Haupt Prozess: com.ndlp.socialstudy, PID: 3481 android.content.res.Resources $ NotFoundException: Ressourcen-ID # 0x0
und es verweist auf meine Recycler Adapterklasse und zu:
holder.scriptIcon.setImageDrawable(ContextCompat.getDrawable(context, resourceId));
wissen Sie wha t Ich habe falsch gemacht? Die Bildnamen wie im Schalter sind richtig, ich habe sie bereits überprüft.
ich auch schon versucht:
int resourceId = context.getResources().getIdentifier(imageName, "drawable" , context.getPackageName());
Mit freundlichen Grüßen
hellownero
Vielen Dank für Ihre Zeit schätzen es sehr, aber ich habe es bereits versucht (siehe meine Bearbeitung am unteren Rand) und der Fehler bleibt gleich ... –
@PatrickNadler hast du versucht, '.png' vom Ende des zu entfernen Dateiname? –
Danke, es funktioniert irgendwie, aber das Bild, das angezeigt wird, ist immer das Bibliotheksbild, selbst mit Artikeln, die die Zeichenkette PDF haben, haben Sie irgendwelche Vorschläge, wie man das löst? –