3

私の Android アプリケーションでは、リストビューを使用しています。リストビューのコードは次のとおりです

 <ListView
    android:id="@+id/inputselect_listview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:choiceMode="singleChoice"
    android:footerDividersEnabled="true"
    android:headerDividersEnabled="true"
    android:listSelector="@drawable/list_selector"
    android:splitMotionEvents="true" >
 </ListView>

ユーザーがリストビューから 1 つの項目を選択すると、この行に従ってリスト項目の背景色が変わります

android:listSelector="@drawable/list_selector"

編集: list_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_selected="true"
    android:drawable="@android:color/transparent" />
<item android:state_selected="true"
    android:drawable="@android:color/transparent" />
<item android:state_pressed="true" android:state_selected="false"
    android:drawable="@android:color/transparent" />
<item android:state_selected="false"
    android:drawable="@color/blue_train" />
</selector>

list_selector.xml は drawable フォルダーにあり、色を指定します。問題は、リストビューから1つのアイテムを選択してリストをスクロールすると、選択したアイテムの背景色もスクロールに応じて上下に移動することです。選択したアイテムの背景色がスクロールしてもそのままになるように解決策を教えてください。

編集:ここでは、単一のアイテムを選択してリストビューをスクロールするスクリーンショットを示します。青色はそのままです

ここに画像の説明を入力

ご意見をお聞かせください。

4

3 に答える 3

1

これを引き起こしているセレクターの状態がクリアされていないようです。のようなものを使用してください

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

  <!-- Selected --> 
  <item 
    android:state_focused="true" 
    android:state_selected="false" 
    android:drawable="@drawable/focused"/> 

  <!-- Pressed -->
  <item 
    android:state_selected="true" 
    android:state_focused="false"
    android:drawable="@drawable/pressed" /> 

<!-- default -->
  <item  android:drawable="@drawable/default" /> 

</selector> 
于 2013-03-18T09:16:30.310 に答える