2013-01-07 42 views
0

我有一個listview設置爲使用singleChoice。我想要做的就是將默認背景顏色更改爲白色,將文本顏色更改爲黑色。我無法弄清楚如何做到這一點。下面是我的XML佈局:Android:在ListView中更改singleChoice的文本顏色

<ListView 
    android:id="@+id/lvSpeeds" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@id/llToolbar" 
    android:layout_below="@id/rgSpeedUnits" 
    android:textColor="@android:color/black" 
    android:choiceMode="singleChoice" 
    android:background="#ffffff" 
    android:cacheColorHint="#00ffffff" 
    android:clickable="true" 
    android:divider="#ff000000" 
    android:dividerHeight="1dp" 
    android:focusable="true" 
    android:scrollingCache="true" /> 

編輯:我要指出,我想改變這種只使用XML佈局文件,而不是在代碼中。我已經知道如何在代碼中做到這一點。使用除android.R.layout.simple_list_item_single_choice之外的自定義佈局將強制您實現適配器,綁定,編寫更多代碼等等。從查看更多帖子,似乎不可能僅使用xml更改文本顏色。事實上,由於底層佈局android.R.layout.simple_list_item_single_choice無法訪問,所以似乎無法更改任何行。

+0

創建爲textView設置不同的佈局,設置你想要的文本colcor,並在你使用的Adapter中使用這個佈局。看看這個[link](http://stackoverflow.com/questions/10835468/make-a-textview-inside-a-listview-use-the-default-listview-row-style)它會幫助你。 –

回答

1

的列表視圖使用Android選擇 這樣

anyname.xm升保存並giveits參考列表

<selector xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item android:state_pressed="true" android:drawable="@drawable/about_btn_hover"></item> 
    <item android:drawable="@drawable/about_btn"></item> 

</selector> 

的背景和改變文字顏色在你的水庫增添色彩的文件夾目錄 創建一個XML保存textchangecolor.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="@color/whiteColor"></item> 
    <item android:color="@color/bluetxt"></item> 
</selector> 

,並給予其refernce的文本顏色

+0

也許你想包括什麼about_btn以及你遺漏的所有其他常量。事實上,你的代碼是無用的。 – AndroidDev

+0

沒有得到你的觀點? –

+0

您的繪圖不包含在您的代碼中。 – AndroidDev

1

嘗試這樣的:

插入到這些代碼適配器getview馬託:

LinearLayout mRowLayout = (LinearLayout) vi 
        .findViewById(R.id.list_item_layout); 
      final TextView title = (TextView) vi 
        .findViewById(R.id.list_item); 

      title.setText(Massage[position]); 

      mRowLayout.setOnClickListener(new OnClickListener() { 

       public void onClick(View v) { 


            title.setTextColor(Color.RED); 

          }); 

這裏LIST_ITEM代碼:

<?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="match_parent" 
android:id="@+id/list_item_layout" 
android:orientation="vertical" > 


<RelativeLayout android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/row_single" 
       android:layout_margin="5dp"> 


<TextView android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:singleLine="true" 
     android:textColor="@android:color/black" 
     android:padding="10dp" 
     android:textSize="16sp" 

     android:layout_toLeftOf="@+id/arrow" 
     android:id="@+id/list_item"/> 
</RelativeLayout> 
</LinearLayout> 
+0

這需要一個適配器創建代碼,加入單選按鈕和添加更多的代碼處理單選按鈕。尋找一個純粹的XML解決方案。 – AndroidDev