Как указать android: textColor на нажатой ListItem?

1

Мой listitem.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" style="@style/f_w" android:layout_height="60sp" android:padding="0sp">
<TextView android:id="@+id/con_name"
    android:textSize="16sp"
    style="@style/w_w" />
<TextView android:id="@+id/con_time"
    android:textSize="13sp" 
    android:textColor="#565"
    style="@style/w_w" />
</RelativeLayout>

Итак, я хочу указать textColor моих текстовых просмотров на нажатом элементе. Я использую custom listview через baseadapter.

  • 0
    возможный дубликат Android TextView, отключающий изменение цвета
  • 0
    @userSeven7s userSeven7s нет, наоборот: я не хочу создавать изменение цвета (у меня его не было, спасибо Оле).
Теги:
android-layout

3 ответа

2
Лучший ответ

Создайте селектор для текста текста TextView.

Рез/цвет/list_item_text_color_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:state_enabled="false" android:color="@color/disabled_color"/>
    <item android:state_focused="true" android:state_pressed="false" android:color="@color/focused_color" />
    <item android:state_pressed="true" android:color="@color/pressed_color" />
    <item android:color="@color/normal_color" />
</selector>

разреш/макет/listitem.xml

<TextView android:id="@+id/con_name"
    android:textSize="16sp"
    android:textColor="@color/list_item_text_color_selector"
    style="@style/w_w" />

Если вы хотите, чтобы это применимо к текстуру TextViews, вы можете добавить его в @style/w_w и удалить часть android: textColor из вашего TextView.

<style name="w_w">
    ...
    <item name="android:textColor">@color/list_item_text_color_selector</item>
    ...
</style>
  • 0
    Нет, я не хочу применять его к обоим TextViews. По умолчанию (не нажата / не выбрана) цвета разные.
0

Если ваша активность расширяет ListActivity, вы можете изменить цвет любого элемента listitem.xml, просто переопределяя:

@Override  
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);

    TextView tv = (TextView)  v.findViewById(R.id.con_name);
    tv.setTextColor(R.color.red);
} 
0

Вы можете проверить вид списка onItemClickListner и установить это для элемента myTextView.setTextColor(getResources().getColor(R.color.blue));

  • 0
    Могу ли я спросить вас пример с onItemClickListener?
  • 0
    Обратитесь к этому руководству. и проверьте код lv.setOnItemClickListener androidhive.info/2011/10/android-listview-tutorial

Ещё вопросы

Сообщество Overcoder
Наверх
Меню