Androidにドロップダウンリストを実装しようとしています。
これがSpinner
私のlayout.xmlで使用しているものです
<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>
セレクター_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>
ただし、スピナーリストのアイテム選択の色が変更される場合があります。
いつ正しく表示されるかわかりません。ランダムに選択色が変更されています。選択範囲が1番目の画像として表示されることもあれば、2番目の画像として表示されることもあります。
なぜこれが起こるのでしょうか?これを解決する方法は?