2013-04-19 2 views
0

Что я хочу, так это цвет текста счетчика должен быть белым во время выполнения, когда он отображается внутри Spinner, так как он находится в spinner 1 и 2, а цвет текста в списке Spinner должен быть черным как на картинке.TextView Color in the Spinner

Проблема в том, что я могу сделать это для первых 2 Spinners, но не могу сделать это для 3-го и 4-го Spinner.

Если вы можете видеть, что 3-й и 4-й счетчики имеют значения, но в черном. Я не понимаю, что если это возможно для 2 прядильщиков, то y не для всех 4. Пожалуйста, помогите мне.

enter image description here enter image description here

Это мой код, чтобы изменить цвет во время выполнения:

public class Text     // class for changing the text color of spinner 
{ 
    private TextView tv = null; 
    Text(View spin_adptr) 
    { 

     tv = (TextView) spin_adptr.findViewById(R.id.textspin); 
     tv.setTextColor(Color.WHITE); 
    } 
} 

и это, как я зову его:

public void onItemSelected(AdapterView<?> parent, View arg1, int position, 
     long arg3) { 
    int id = parent.getId(); 
    Text text = new Text(spinner1); //Change of color (Working) 
      Text text1 = new Text(spinner3); //Change of Color(ERROR) 
      Text text2 = new Text(spinner4); //Change of Color(ERROR) 



    switch (id) { 
    case R.id.spinner1: 

     String b = spinner1.getSelectedItem().toString(); 

     if (b != null) { 
      dbCarHelper.make_pop(b); 
     } 



     List<String> lb = h.getAllLabels(); 

     ArrayAdapter<String> dAdapter = new ArrayAdapter<String>(this, 
       R.layout.spin_adptr,lb); 

     dAdapter.setDropDownViewResource(R.layout.spin_adptr); 
     spinner2.setAdapter(dAdapter); 

     break; 

    case R.id.spinner2: 
     Text text1 = new Text(spinner2); //// Change of color (working) 
     String a = spinner2.getSelectedItem().toString(); 

     if (a != null) { 
      dbCarHelper.m_pop(a); 
     } 

     CarHelper c = new CarHelper(getApplicationContext()); 

     List<String> lable = c.getAllLabel(); 

     ArrayAdapter<String> dAdaptr = new ArrayAdapter<String>(this, 
       R.layout.spin_adptr,lable); 

     dAdaptr.setDropDownViewResource(R.layout.spin_adptr); 

     spinner3.setAdapter(dAdaptr); 


     break; 

    } 

    } 

ответ

5

сделать файл XML с именем, как spinner_layout и написать код ниже

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/text1" 
style="?android:attr/spinnerItemStyle" 
android:layout_width="fill_parent" 
android:layout_height="48dp" 
android:gravity="center_vertical" 
android:paddingLeft="4dp" 
android:textSize="18sp" 
android:textColor="#FFFFFF" 
android:ellipsize="marquee" 
android:singleLine="true" /> 

сделать еще один XML с именем, как spinner_dropdown и писать ниже код

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/text1" 
style="?android:attr/spinnerItemStyle" 
android:layout_width="fill_parent" 
android:layout_height="48dp" 
android:gravity="center_vertical" 
android:paddingLeft="4dp" 
android:textSize="18sp" 
android:textColor="#000000" 
android:ellipsize="marquee" 
android:singleLine="true" /> 

Теперь обновить свой код, как показано ниже

ArrayAdapter<String> dAdapter = new ArrayAdapter<String>(this, 
      R.layout.spinner_layout,lb); 

    dAdapter.setDropDownViewResource(R.layout.spinner_dropdown); 
+0

спасибо большое .. он работал .. поблагодарить у Су много – Droid

+0

ур приветствовать :) –