2012-07-06 88 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>