2016-03-21 25 views
0

Als ein Noob finde ich die anderen Antworten für diese Frage schwer zu verstehen. Ich initialisieren ein Spinner wie so:So ändern Sie die Textfarbe eines Spinner

mMembership = (Spinner) findViewById(R.id.RegisterMembershipSpinner); 
    ArrayAdapter<CharSequence> member_adapter = ArrayAdapter.createFromResource(this, 
        R.array.membership_array, android.R.layout.simple_spinner_item); 
      // Specify the layout to use when the list of choices appears 
      member_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
      // Apply the adapter to the spinner 
      mMembership.setAdapter(member_adapter); 

Und ich habe erstellt und XML spinner_items.xml im Layout-Ordner mit folgendem Inhalt:

 <TextView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textSize="20sp" 
     android:gravity="left" 
     android:textColor="#FFFFFF" 
     android:padding="5dip" 
     android:id="@+id/textSpinner" 
     /> 

Was soll ich von hier aus tun, um zu ermöglichen, ich die Textfarbe der Spinner Artikel ändern?

+0

Post a screenshot too – Shreyans

+0

Deine 'spinner_items' Datei hat dein' textColor' Attribut, ändere das '# FFFFFF' in etwas anderes. Das ist schwarz, wenn dein Hintergrund schwarz ist, wirst du es nicht sehen. Auch nicht hart Code Ihre Farbwerte verwenden Sie die 'colors.xml' Datei, um Ihre Farben zu definieren und rufen Sie mit @ @ color/your_defined_color – Pztar

+0

#FFFFFF ist weiß. Immer noch der gleiche Fehler – Cian

Antwort

4

ersetzen android.R.layout.simple_spinner_item mit R.layout.spinner_items

und

EDIT android:id="@android:id/text1" zu Ihrer XML-Datei hinzufügen: Wenn Sie Spinner ausgewählte Element Textfarbe ändern möchten.

Spinner mMembership = (Spinner) findViewById(R.id.RegisterMembershipSpinner); 
    ArrayAdapter<CharSequence> member_adapter = ArrayAdapter.createFromResource(this, 
      R.array.membership_array, R.layout.spinner_items); 
    // Specify the layout to use when the list of choices appears 
    member_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    // Apply the adapter to the spinner 
    mMembership.setAdapter(member_adapter); 

und Inhalt von spinner_items.xml:

<?xml version="1.0" encoding="utf-8"?> 
<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textSize="20sp" 
    android:gravity="left" 
    android:textColor="#FF0000" 
    android:padding="5dip" 
    android:id="@android:id/text1" 
/> 

oder wenn Sie wollen Spinner Drop-Down-Element Textfarbe ändern, dann wird Ihr Java-Code ist:

mMembership = (Spinner) findViewById(R.id.RegisterMembershipSpinner); 
    ArrayAdapter<CharSequence> member_adapter = ArrayAdapter.createFromResource(this, 
      R.array.membership_array, android.R.layout.simple_spinner_item); 
    // Specify the layout to use when the list of choices appears 
    member_adapter.setDropDownViewResource(R.layout.spinner_items); 
    // Apply the adapter to the spinner 
    mMembership.setAdapter(member_adapter); 

und spinner_items.xml

<?xml version="1.0" encoding="utf-8"?> 
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="?android:attr/spinnerDropDownItemStyle" 
    android:singleLine="true" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:ellipsize="marquee" 
    android:textColor="#00FF00"/> 
+0

Kein Glück. Das gab mir den Fehler: E/ArrayAdapter: Sie müssen eine Ressource ID für ein TextView – Cian

+0

In XML eingereicht versuchen, ID von TextView zu Android ändern: ID = "@ Android: ID/Text1" –

+0

Ich bekomme immer noch den gleichen Fehler – Cian

Verwandte Themen