Как изменить цвет шрифта в списке выбора в прядильщике?

Я создал счетчик, откуда пользователь может выбрать значение. Я МОГУ ПОМЕНЯТЬ цвет текста сателлита, как показано на рисунке:

Введите описание изображения здесь

К сожалению, когда я нажимаю на счетчик, отображается список элементов, которые нужно выбрать, но они имеют белый цвет шрифта на белом фоне, и я просто не смог изменить это: Введите описание изображения здесь

Я искал проблему, и другие столкнулись с одной и той же проблемой. Ни одна из предложенных исправлений не работала для меня. Насколько я понимаю, я должен сделать собственный список, но хорошо … Я не могу заставить его работать. Какие-либо предложения?

Мой код выглядит так (array_spinner – массив строк):

ArrayAdapter adapter = new ArrayAdapter(this, R.layout.row, array_spinner); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

И мой row.xml:

 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/spinnerText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:textColor="#000000" android:textSize="14dp" /> 

Solutions Collecting From Web of "Как изменить цвет шрифта в списке выбора в прядильщике?"

Попробуйте это (непроверено). Я в основном воспроизвожу simple_spinner_dropdown_item.xml но с черным цветом текста:

  • Заменить строку
  ArrayAdapter adapter = new ArrayAdapter(this, R.layout.row, array_spinner); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

с

 ArrayAdapter adapter = new ArrayAdapter(this, R.layout.row, array_spinner); adapter.setDropDownViewResource(R.layout.spinner_dropdown_item); 
  • Добавьте этот файл в res/layout , называемый spinner_dropdown_item.xml :
 <CheckedTextView android:id="@android:id/text1" style="?android:attr/spinnerDropDownItemStyle" android:singleLine="true" android:layout_width="fill_parent" android:layout_height="?android:attr/listPreferredItemHeight" android:textColor="#FF000000" /> 

Простой и четкий

 private OnItemSelectedListener your_spinner _name = new AdapterView.OnItemSelectedListener() { public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { ((TextView) parent.getChildAt(0)).setTextColor(Color.BLUE); } public void onNothingSelected(AdapterView<?> parent) { } }; 

У меня была такая же проблема. Мой ответ – не самый правильный ответ, но это очень быстрое решение для тех, кто использует основную тему приложения.

Если вы создаете матрицу для счетчика, используя

 createfromResource() 

НЕ используйте getApplicationContext (). Объявите Myclass.this вместо этого. Мой текст теперь остается таким же, как и основная тема приложения. Надеюсь, это поможет кому-то другому.