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

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

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

SetBackgroundColor в кастомном ListView - Программирование Android

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

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

OnClickListner на кастомном listview - Программирование Android
Здравствуйте такой вопрос есть кастомный список его код: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout...

Поиск по ListView основанному на кастомном адаптере - Программирование Android
Есть кастомный адаптер. ListView сделан на его основе. Данные загружаются из БД. Делаю поиск по позициям листа. Дописал в класс кастомного...

Получить текст из одного TextView в кастомном ListView - Программирование Android
Есть кастомный ListView, в котором есть картинка и два TextView, как при нажатии на элемент этого списка получить текст допустим второго...

Фильтрация в кастомном SimpleCursorAdapter - Программирование Android
Здравствуйте. вот Активити public class MainActivity extends AppCompatActivity { SQLiteDatabase database; ...

Получить индекс элемента в кастомном списке - Программирование Android
Добрый день. У меня имеется кастмоный список, состоящий из двух и более элементов. Например, я кликнул по 2 элементу списка, длина которого...

Listview - Программирование Android
Добрый день, В структуре ListView есть два элемента,которые он показывает Item и SubItem. В Item вставить значение не проблема,всё...

id ListView - Программирование Android
как дать каждому item уникальный id d listview и использовать его для проверки базы данных помогите заранее спасибо

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
17.01.2015, 20:35     SetBackgroundColor в кастомном ListView #2
Slon747, в смысле, подкрашенная строка у вас какого-то другого цвета?
По данной теме мне припоминается Не работает метод ListView::setChoiceMode.
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 423
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
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 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
Сообщений: 423
19.01.2015, 13:32  [ТС]     SetBackgroundColor в кастомном ListView #5
Пробовал. Создавал selector и применял как к TextView? так и к ListView. На подсветку выделенной строки не влияет
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 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
Еще ссылки по теме:

ListView - Программирование Android
Добрый день. У меня есть лист ListView. Данные для заполнения он берет из таблицы БД. Таблица имеет два поля (имя, статус выполнения)....

ListView - Программирование Android
Как в ListView задавать значения Sub Item?

ListView - Программирование Android
Пытаюсь сделать по аналогии с уроком MySql + Android. Он есть проблема: ListView lv = getListView(); getListView подсвечивается...

из БД в ListView - Программирование Android
Пишу приложение афишы кинотеатра. В базе данных есть стобцы: название, жанр, страна, время показа. Вот эти данные думаю подгружать...

Listview в listview - Программирование Android
Добрый.. вечер. Вопрос такого плана - есть listview созданный через кастомный адаптер, в элементах этого listview есть еще один listview,...


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

Или воспользуйтесь поиском по форуму:
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 423
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