2012-07-06 82 views
1

我使用LISTVIEW.setSelection(INT)爲了選擇我的列表視圖中的某些項目。我還需要在選定的行中改變格式,即改變其內部的TextView元素的顏色。我不知道如何解決這個問題。我試過設置OnItemSelectedListener,但它永遠不會被觸發。ListView setSelection和更改當前選定的行文本顏色

+0

請把你的代碼 – 2012-07-06 08:55:09

回答

0

試試這個,如果你正在使用ListActivity

View v=getListView().getChildAt(getSelectedItemPosition()); 
((TextView) v.findViewById(R.id.textViewID)).setTextColor(Color.RED); 
0

創建list_item_color.xml在res /顏色/像如下:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true" android:color="#FFFFDD"/> 
    <item android:color="#979B9E"/> 
</selector> 

,然後用它在你的佈局XML。例如: -

<TextView 
    android:id="@+id/list_item_text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="@color/list_item_color" /> 

TextView的會自動改變文字的顏色,當你爲setSelection

+0

的事情是,我設置,迫使特定行的ListView對象選擇上要選擇 – user1462299 2012-07-06 09:19:03

+0

期運用ListView控件時,必須將ListAdapter設置它。當您新建一個ListAdapter的子類時,總是需要一個佈局渣油。你可以在你傳遞給ListAdapter的佈局中使用「@ color/list_item_color」 – Xiao 2012-07-06 09:41:47

+0

我不太明白它是如何完成的 - 你能告訴我示例代碼嗎? – user1462299 2012-07-06 10:49:47

0

您可以使用此代碼作爲TextView的選擇。用它作爲你的文本視圖背景。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <color android:color="@color/semitransparent_white" /> 
    </item> 
    <item> 
     <color android:color="@color/transparent" /> 
    </item> 
</selector> 
相關問題