2016-03-19 10 views
1

メソッドでチェック/選択行のcoloを設定しようとしています:listView.setItemChecked(i、true); Android 2.2.1では動作しませんでしたが、色は変更されませんでした。私がstate_activatedを使用している場合、これはより新しいバージョン用です。どうやってやるの?ありがとう。私はこの問題を解決するListViewのAndroidセレクタby setItemCheckedがバージョン2.2.1で動作しない

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="horizontal" 
android:background="@drawable/list_item_selector" 
android:id="@+id/playerRow" android:paddingTop="5dp" android:paddingBottom="5dp" > 

<TextView 
    android:id="@+id/itemName" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="0.72" 
    android:text="@string/songName" /> 

<TextView 
    android:id="@+id/itemLength" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/songLength" /> 

+0

バージョン2.2.1はあなたの問題ですか? http://developer.android.com/intl/es/about/dashboards/index.html – Budius

+0

はい、Archos 70 tablet with 2.2.1 Android – Musketyr

答えて

0

<selector xmlns:android="http://schemas.android.com/apk/res/android">   
<item android:state_checked="true" android:drawable="@color/orange"/> 
<item android:state_checked="false" android:drawable="@android:color/transparent"/> 

そして、リストビュー:

<ListView 
    android:id="@+id/listMP3" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:scrollbarAlwaysDrawVerticalTrack="true" 
    android:layout_weight="1" 
    android:clickable="true" 
    android:choiceMode="singleChoice"> 
</ListView> 

RowView 私はセレクタを持っています。セレクタと色をプログラマチックに変更しました。アダプタのように。 Android 2.2と4.xの両方のバージョンで動作しています。

if (list.get(position).GetSelected()) 
      view.setBackgroundResource(R.color.orange); 
     else 
      view.setBackgroundColor(Color.TRANSPARENT); 
関連する問題