1

Я хотел бы изменить цвет текста моего счетчика (я хочу, чтобы выбранное значение было белым).Android - изменение цвета текста счетчика не работает

У меня есть красный об этой теме на этом форуме, но мне это не помогло. Я создал файл xml макета для моего spinner (spin.xml). Вот что у меня есть:

spin.xml:

<?xml version="1.0" encoding="utf-8"?> 


<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:gravity="top" 
android:singleLine="true" 
android:textColor="#ffffff" /> 

Массив адаптер в моем OnCreate():

spinner = (Spinner) findViewById(R.id.shift); 

    // Create an ArrayAdapter using the string array and a default spinner layout 
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, 
      R.array.shiftarray, R.layout.spin); 
    // Specify the layout to use when the list of choices appears 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    // Apply the adapter to the spinner 
    spinner.setAdapter(adapter); 

    spinner.setOnItemSelectedListener(new OnItemSelectedListener(){ 



     public void onItemSelected(AdapterView<?> arg0, View view, int pos, long id) { 

      selected = spinner.getSelectedItem().toString(); 
      ((TextView) spinner.getChildAt(0)).setTextColor(1); 
      Log.e("SELECT", selected); 
     } 

     public void onNothingSelected(AdapterView parent) { 
      // Do nothing. 
     } 
    }); 

Что я должен сделать, чтобы заставить его работать, пожалуйста? Чем вы. :)

+0

Знаете ли вы, используя селекторы? Кроме того, я хотел бы сделать пользовательский адаптер и сделать это в getView(). –

ответ

2

Простой и эффективный ...

private OnItemSelectedListener OnCatSpinnerCL = new AdapterView.OnItemSelectedListener() { 
    public void onItemSelected(AdapterView<?> parent, View view, int pos, 
      long id) { 

     ((TextView) parent.getChildAt(0)).setTextColor(Color.BLUE); 
     ((TextView) parent.getChildAt(0)).setTextSize(5); 



    } 

    public void onNothingSelected(AdapterView<?> parent) { 

    } 
}; 
+1

Это сработало для меня. :) –