Ich habe einen wirklich nervigen Fehler, der sich in meine Android App eingeschlichen hat und ich kann die Ursache nicht finden (obwohl es möglicherweise ist, weil ich auf SDK 23 aktualisiert habe).Android Studio Debugging-Optionen
Ich Referenzierung dynamisch eine Reihe von Imageelemente und Füllen der Imageview mit einer Bitmap:
ImageView img = (ImageView) activity.findViewById(context.getResources().getIdentifier(result.getView(), "id", context.getString(R.string.packagename)));
img.setImageBitmap(bitmap);
Alle der ImageViews waren richtig und jetzt nur noch eines der Bilder Füllung nicht Füllung (aber die anderen sind)
Ich vermute, dass das Bild füllt, aber wird anschließend entweder überschrieben, versteckt, zurück oder etwas anderes gesendet.
Ich habe den Debugger in Android Studio versuchte die Image zu bestätigen scheint wird korrekt referenziert und es ist ein Bild in ‚Bitmap‘ aber was ich kann nicht scheinen, ist für Sie tun, wenn es anschließend
geändert wirdFrage gibt es eine Möglichkeit, eine Debugging ‚Falle‘ zu setzen, wenn eine Ressource-ID zugegriffen, um zu fangen (dh ich wissen will, wenn es Änderungen an meinem R.id.inv_image
, bevor Sie es zu arbeiten sdk Upgrade 23 wurde haben Sie versucht, eine andere Bitmap zu setzen, aber nicht dynamisch zum Beispiel eine statische Bitmap, die Sie importiert? Sie könnten ein Log.w() schreiben und das Bitmap protokollieren, das geladen wird, um zu sehen, was passiert. EDIT: Du hast gesagt, dass alle Bitmaps ok geladen sind, bis auf eins..ist das in einer Schleife? Sind Sie sicher, dass die Schleife so oft ausgeführt wird wie Ihre Bitmaps? –
versuche Breakpoints Ich zeige dir den aktuell eingestellten Wert –
Ich bin mir nicht sicher über das Debuggen, aber du kannst versuchen Logging; Wo auch immer Sie Bitmap für die Bildansicht setzen, fügen Sie eine Protokollzeile hinzu, die die ID anzeigt, auf die zugegriffen wird, und schauen Sie sich die Ausgabeprotokolle an. Wenn Sie eine Doppellinie sehen (mit derselben ID), dann müssen Sie in die (Vorschlags-) Logareihe graben enthält diese Parameter 'context.getResources(). getIdentifier (result.getView()," id ", context.getString (R.string.Packagename))' Um es zu beenden, sollten alle Protokolle die gleiche ID NICHT zweimal anzeigen. – Yazan