Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 420
#1

SetBackgroundColor в кастомном ListView - Android

17.01.2015, 16:13. Просмотров 748. Ответов 6
Метки нет (Все метки)

В кастомном ListView подсвечиваю строки через setBackgroundColor() или "android:background"
Если нажимаю на обычную строку, то она выделяется, а если нажимаю на подкрашенную строку эта строка не изменяет цвет (хотя событие Click срабатывает).
Что можно сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2015, 16:13     SetBackgroundColor в кастомном ListView
Посмотрите здесь:

Android Listview
Android ListView
ListView Android
Android id ListView
Android из БД в ListView
Android Редактируем ListView
Android Поиск по ListView основанному на кастомном адаптере
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
17.01.2015, 20:35     SetBackgroundColor в кастомном ListView #2
Slon747, в смысле, подкрашенная строка у вас какого-то другого цвета?
По данной теме мне припоминается Не работает метод ListView::setChoiceMode.
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 420
19.01.2015, 12:54  [ТС]     SetBackgroundColor в кастомном ListView #3
CoolMind,
Есть кастомный ListView, который заполняется данными через TextView.
Если нажать на строку списка, то он становится оранжевой (сама подрашивается, нечего для этого не делал). При отпускании пометка строки исчезает.
Если же строка списка имеет background (как в коде ниже), то строка не выделяется, т.е. пользователь не понимает, что строка выделена. Само же ссобытие на нажатие отрабатывает.

XML
1
2
3
4
    <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/darker_gray"/>
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
19.01.2015, 13:08     SetBackgroundColor в кастомном ListView #4
Slon747, потому что ставите на бэкграунд просто цвет. А нужно ставить drawable примерно такого вида:
XML
1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 
    <item android:state_pressed="true" android:drawable="Цвет в нажатом состоянии"/>
    <item android:state_pressed="false" android:drawable="Цвет в обычном состоянии"/>
 
</selector>
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 420
19.01.2015, 13:32  [ТС]     SetBackgroundColor в кастомном ListView #5
Пробовал. Создавал selector и применял как к TextView? так и к ListView. На подсветку выделенной строки не влияет
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
19.01.2015, 13:38     SetBackgroundColor в кастомном ListView #6
Slon747, это нужно делать на уровне адаптера, т.е. в данных добавить параметр isChoosed (когда нужно - менять его у нужного элемента List'a) и в зависимости от этого параметра устанавливать цвет элемента. При таком подходе можно заливать и просто цветом, но нужно постоянно перезагружать весь лист методом notifyDataSetChanged(), который очень уж долго отрабатывает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2015, 13:53     SetBackgroundColor в кастомном ListView
Еще ссылки по теме:

Android Получить текст из одного TextView в кастомном ListView
Android ListView
Получить индекс элемента в кастомном списке Android
Android Listview в listview
Android OnClickListner на кастомном listview

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 420
19.01.2015, 13:53  [ТС]     SetBackgroundColor в кастомном ListView #7
Спасибо. Попробую
Yandex
Объявления
19.01.2015, 13:53     SetBackgroundColor в кастомном ListView
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru