Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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. После добавления кнопки перестал быть доступен сам ListView - Программирование Android
Кастомизировал ListView с помощью нескольких TextView. Но после того, как добавил ImageButton сам список стал недоступен для клика, а...

6
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,733
17.01.2015, 20:35 #2
Slon747, в смысле, подкрашенная строка у вас какого-то другого цвета?
По данной теме мне припоминается Не работает метод ListView::setChoiceMode.
0
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 466
19.01.2015, 12:54  [ТС] #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"/>
0
Spelcrawler
528 / 498 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
19.01.2015, 13:08 #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>
0
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 466
19.01.2015, 13:32  [ТС] #5
Пробовал. Создавал selector и применял как к TextView? так и к ListView. На подсветку выделенной строки не влияет
0
Spelcrawler
528 / 498 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
19.01.2015, 13:38 #6
Slon747, это нужно делать на уровне адаптера, т.е. в данных добавить параметр isChoosed (когда нужно - менять его у нужного элемента List'a) и в зависимости от этого параметра устанавливать цвет элемента. При таком подходе можно заливать и просто цветом, но нужно постоянно перезагружать весь лист методом notifyDataSetChanged(), который очень уж долго отрабатывает.
1
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 466
19.01.2015, 13:53  [ТС] #7
Спасибо. Попробую
0
19.01.2015, 13:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2015, 13:53
Привет! Вот еще темы с ответами:

Listview вывод данных и переход по нажатию на другой Listview SQLite - Программирование Android
Доброго извините за название темы, долго не мог сформировать название, В общем у меня беда с пытаюсь написать программу где первый экран...

Данные из SQlite в ListView, обработка события ListView - Программирование Android
Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные int из БД. mList.setOnItemClickListener(new...

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton? - Программирование Android
Добрый день. Затрудняюсь понять один момент: У меня есть ListView, который заполнен Items. Каждый Item - это свой XML. Пока...

Копирование данных из 1 listView во 2 listView - Программирование Android
Нужно что бы при нажатии на один элемент в первом ListView он копировался во второй ListView причём многократно.Но я использую...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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