ListView setSelection和更改当前选定的行文本颜色
我使用LISTVIEW.setSelection(INT)为了选择我的列表视图中的某些项目。我还需要在选定的行中改变格式,即改变其内部的TextView元素的颜色。我不知道如何解决这个问题。我试过设置OnItemSelectedListener,但它永远不会被触发。ListView setSelection和更改当前选定的行文本颜色
试试这个,如果你正在使用ListActivity
View v=getListView().getChildAt(getSelectedItemPosition());
((TextView) v.findViewById(R.id.textViewID)).setTextColor(Color.RED);
创建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
的事情是,我设置,迫使特定行的ListView对象选择上要选择 – user1462299 2012-07-06 09:19:03
期运用ListView控件时,必须将ListAdapter设置它。当您新建一个ListAdapter的子类时,总是需要一个布局渣油。你可以在你传递给ListAdapter的布局中使用“@ color/list_item_color” – Xiao 2012-07-06 09:41:47
我不太明白它是如何完成的 - 你能告诉我示例代码吗? – user1462299 2012-07-06 10:49:47
您可以使用此代码作为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>
请把你的代码 – 2012-07-06 08:55:09