2013-07-25 1 views
4

목표가 ListView의 선택된 행의 배경색을 변경하고 있습니다. API 레벨 13 및 16에서 성공한 API 레벨 10 (2.3.3)에서 동일한 코드가 실패했습니다. 예외는 발생하지 않지만 색상은 변경되지 않습니다.API 레벨 10의 ListView 행 선택기?

이것은 내가 시도한 것입니다.

list_row.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/row_bg_colors" 
    android:orientation="vertical" 
    android:padding="8dp" 
    > 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/app_name" 
     android:textSize="25sp" /> 

</LinearLayout> 

row_bg_colors.xml 배경과 아무 상관이

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

    <!-- selected --> 
    <item android:drawable="@color/lightBlue" android:state_selected="true"/> 
    <item android:drawable="@color/lightBlue" android:state_activated="true"/> 
    <item android:drawable="@color/lightBlue" android:state_focused="true"/> 
    <item android:drawable="@color/lightBlue" android:state_checked="true"/> 

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

</selector> 

아주 간단한 어댑터. 클래식 ListView 객체 (확장되지 않음). Activity XML 파일의 ListView에 대한 singleChoice 특성입니다.

호환성에 대한 경고는 없습니다.

지원되지 않는 기능이 있습니까? 또는 무엇을?

답변

1

목록 선택기를 listview에도 추가하십시오. 즉 :

<ListView 
    android:listSelector="@drawable/row_bg_colors" 
/> 

또한 선형 레이아웃 행의 배경으로 row_bg_colors을 둡니다.

희망이 있습니다.