2

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番目の画像として表示されることもあります。

なぜこれが起こるのでしょうか?これを解決する方法は?

4

0 に答える 0