1

我正在使用 LISTVIEW.setSelection(INT) 来选择我的列表视图中的某些项目。我还需要更改所选行中的样式,即更改其中 TextView 元素的颜色。我不知道如何解决这个问题。我试过设置 OnItemSelectedListener 但它永远不会被触发。

4

3 回答 3

0

试试这个,如果你使用 ListActivity

View v=getListView().getChildAt(getSelectedItemPosition());
((TextView) v.findViewById(R.id.textViewID)).setTextColor(Color.RED);
于 2012-07-06T09:02:14.780 回答
0

在 res/color/ 中创建一个 list_item_color.xml,如下所示:

<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 将自动更改文本颜色

于 2012-07-06T09:04:10.313 回答
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>
于 2012-07-06T09:06:38.370 回答