ListView Schriftfarbe ändert sich ?

Z

zumafx

Fortgeschrittenes Mitglied
58
Moin :)
in einer Activity habe ich ein paar Eingabefelder und einen Button, um diese in der db zu speichern. Unterhalb meiner Felder zeige ich in einer Listview die
eingegebenen Daten an und aktualisiere die Liste nach jedem Speichern mit einer Zeige-Methode. Diese Zeigemethode rufe ich auch bei start der Activity auf. Soweit alles palleti.
Nun das "komische": beim ersten Anzeigen sind einige der Einträge (scheinbar willkürlich, immer mal andere) in weißer Schrift (normal schwarz). Sobald ich dann speichere und dort erneut die Zeige-Methode aufrufe, sind alle Einträge in weißer Schrift. Ich hab nu schon eckige Augen vom vielen Lesen und wunde
Finger vom Trial-and-Error und kriegs einfach nicht raus, wieso das so ist ?

hier mal die Layout.xml
Code:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingTop="10dp"
    android:paddingLeft="20dp"
    android:paddingRight="20dp"
    android:theme="@style/AppTheme">

    <TextView
        android:id="@+id/MedikamentInfo"
        android:text="@string/MedikamentenName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"/>

....
....  die anderen Text und Edit views
....

    <ListView
        android:id="@+id/mediliste"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</LinearLayout>
und hier meine zeigeMethode, die ich nach speichern oder löschen aufrufe
Code:
public void zeigeMedikamente (){
        final List<MedikamentDs> list = getAlleMedikamente();
        String[] values = new String
[list.size()];
        for (int i=0; i <= list.size()-1; i++) {
            values [i] = list.get(i).getName() + "   " +
                         list.get(i).getMorgens().toString() + " / " +
                         list.get(i).getMittags().toString() + " / " +
                         list.get(i).getAbends().toString() + " / " +
                         list.get(i).getNachts().toString();
        }
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                                        android.R.layout.simple_list_item_1,
                                        android.R.id.text1,
                                        values);
        listview.setAdapter(adapter);

        listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapter, View v, int position, long arg3) {
                int id = list.get(position).getId();
                DeleteMedikament(id);
                CharSequence text = getResources().getString(R.string.Medikament) +
                                    " " + list.get(position).getName() + " " +
                                    getResources().getString(R.string.geloescht);
                int duration = Toast.LENGTH_SHORT;
                Toast toast = Toast.makeText(getApplicationContext(), text, duration);
                toast.show();
            }
        });
    }
Ob mir einer erklären kann, warum das so ist ? Ich kriegs, wie gesagt, einfach nicht raus

Danke
 
nach ein wenig fummeln hab ich folgende Lösung gefunden:

ich habe das Layout von simple_List_item in eine eigene Layout.xml verlagert
und dort die textColor mit einer Farbe festgelegt (@color/...)
seit dem bleibt die Farbe
 

Ähnliche Themen

A
Antworten
10
Aufrufe
1.034
swa00
swa00
D
Antworten
9
Aufrufe
1.787
jogimuc
J
4
  • 469110
Antworten
0
Aufrufe
980
469110
4
Zurück
Oben Unten