- Forum-Beiträge: 3.704
14.09.2016, 17:51:40 via Website
14.09.2016 17:51:40 via Website
Moin Jungs,
ich verzweifle mal wieder an einer dämlichen trivilalen Sache
In einem Baseadapter, der für ein CustomListview zuständig ist, setze ich eine ArrayStruktur als Adapter.
Alles funktioniert wunderbar
Innerhalb der getView werden je nach Dateninhalt verschiedene Icons gesetzt und deren Farbe verändert
Drawable Icon = context.getResources().getDrawable(pg_tmp.display_icon_resource, null); Icon.setColorFilter(ITESetup.d().COLOR_SYMBOL_NORMAL, PorterDuff.Mode.SRC_ATOP); holder.icon.setImageDrawable(Icon);
Jetzt kommt der Punkt :
Sind die anzuzeigenden Icons im Array je Eintrag unterschiedlich , dann gibt es keine Probleme
Die Farben können lustig gesetzt werden.
Exististieren jedoch zwei Gleiche Icon-Typen (z.b. TYP A) in der Liste wird immer die zuerst gesetzte Farbe für alle Typ_A Icons übernommen.
Ich weis, ist verwirrend : (Bsp)
Zeile 1) icon_Type A = rot
Zeile 2) icon_Type B = gelb
Zeile 3) icon_Type A = blau <--- an dem Punkt wird rot aus 1 übernommen
Ich habe auch mal den brutalen Weg ausprobiert
holder.icon.setImageDrawable (null);
holder.icon = null;
holder.icon = (ImageView) convertView.findViewById(R.id.icon);
Drawable Icon = context.getResources().getDrawable(pg_tmp.display_icon_resource, null);
Icon.setColorFilter(ITESetup.d().COLOR_SYMBOL_SELECTED, PorterDuff.Mode.SRC_ATOP);
holder.icon.setImageDrawable(Icon);
Das interessiert den nicht die Bohne
Habe ich einen Denkfehler ???
P.S. falls jemand meint , es würde an meiner Farbübernahme liegen - auch manuelle
(0xxxxxxxxxx) nutzen nichts ... da liegt nicht der Hund begraben
Lieben Dank im Voraus an euch
lg
Stefan
— geändert am 14.09.2016, 19:54:43
Liebe Grüße - Stefan
[ App - Entwicklung ]
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.