将 Android 微调器上所选项目的文本颜色更改为

Change text color to selected item on Android Spinner

我有一个微调器,它的所有选项都是黑色的。 我想要的是将 activity 中显示的所选项目更改为白色,但不在 dropDownView 中,它必须让所有东西都变成黑色,就在它显示为所选项目时,我想要它白.

我的微调器:

dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);

我的xml:

<Spinner
  android:id="@+id/spinner"
  android:layout_width="match_parent"
  android:layout_height="34dp"
  android:layout_marginTop="30dp"
  android:background="@drawable/border_thicker" />

我知道spinner有这个方法

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
     public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { 
         // Your code here
     } 

     public void onNothingSelected(AdapterView<?> adapterView) {
         return;
     } 
}); 

但我真的不知道如何将它应用到我想要的东西上。 请帮忙!!

    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
       public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { 
     ((TextView)parent.getChildAt(0)).setTextColor(Color.parseColor("#FFFFFF")); 
        }   

      public void onNothingSelected(AdapterView<?> adapterView) {
       return;
       } 
 }); 

创建一个自定义布局,比如说 spinner_item.xml,使用简单的 TextView 和白色文本颜色

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@android:color/white">
</TextView>

然后将微调器布局设置为新的自定义项:

ArrayAdapter<Integer> adapter = new ArrayAdapter<>(this, R.layout.spinner_item, myList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

无需更改 setOnItemSelectedListener

中的任何内容