Android默认微调器列表选择颜色随机更改

最后发布: 2012-12-19 11:20:13


问题

我正在尝试在Android中实现下拉列表。

这是我在layout.xml中使用的Spinner

       <Spinner
           android:scrollbars="vertical"
           android:id="@+id/spinner1"
           android:layout_width="125dp"
           android:layout_height="wrap_content"
           android:background="@android:color/transparent"
           android:prompt="@string/Category"

           />

MainActivity.java ,我正在使用以下代码,

spinner=(Spinner)findViewById(R.id.spinner1); 
ArrayAdapter<String> spinner_adapter= new ArrayAdapter<String>(this,R.layout.spinner_layout,category_items);
spinner_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(year_adapter);

这是我的spinner_layout.xml

<?xml version="1.0" encoding="utf-8"?>
  <TextView xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/spinnerTarget"
              android:layout_width="180dp"
              android:layout_height="40dp"
              android:textSize="18sp"         
              android:textColor="@drawable/selector_text_color"
              android:background="@drawable/selector_background"
              android:gravity="center"/>

selector_text_color.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >            
   <item android:state_pressed="true" android:color="#F8BB00"/>    
   <item android:state_focused="true" android:color="#F8BB00"/>        
   <item android:state_focused="false" android:color="#FFFFFF"/>
   <item android:state_pressed="false" android:color="#FFFFFF"/>
   <item android:color="#F8BB00"/>  
</selector>

selector_background.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" android:padding="0dp"
    >
    <solid android:color="#3F4040"/>
    <corners 
    android:radius="8dp"
    />
</shape>

但是,有时微调框列表项目选择的颜色会更改。 在此处输入图片说明在此处输入图片说明

我不知道什么时候可以正确显示。 选择颜色随机改变。 有时选择显示为第一张图像,有时显示为第二张图像。

为什么会这样? 如何解决呢?

android android-listview android-spinner android-drawable