Аватар для BigOblom
124 / 124 / 17
Регистрация: 30.06.2010
Сообщений: 478

Custom ListView item setColor

02.01.2015, 21:48. Показов 1779. Ответов 4

Студворк — интернет-сервис помощи студентам
Всех С Новым Годом!
Начал изучать разработку под Android на IDE Android Studio. Создал TabHost с тремя вкладками, в первой вкладке создал ListView, который программно заполняю массивом строк
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
String[] colors = { "Красный", "Оранжевый", "Желтый", "Зелёный", "Голубой", "Синий", "Фиолетовый"};
 
TabHost tabs = (TabHost)findViewById(R.id.tabHost);
tabs.setup();
 
TabHost.TabSpec spec = tabs.newTabSpec("tag1");
spec.setContent(R.id.tab1);
spec.setIndicator("ЦВЕТА");
tabs.addTab(spec);
 
spec = tabs.newTabSpec("tag2");
spec.setContent(R.id.tab2);
spec.setIndicator("Т2");
tabs.addTab(spec);
 
spec = tabs.newTabSpec("tag3");
spec.setContent(R.id.tab3);
spec.setIndicator("Т3");
tabs.addTab(spec);
 
tabs.setCurrentTab(0);
создал обработчик при нажатии на Item.
Java
1
2
3
4
5
6
7
8
9
10
11
12
ListView list = (ListView) findViewById(R.id.listView);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, colors);
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Name = parent.getAdapter().getItem(position).toString();
        Toast.makeText(getApplicationContext(),
                "itemClick: postition = " + position + ", id = " + id + ", " + Name,
                Toast.LENGTH_SHORT).show();
    }
});
Теперь хочу сделать, чтобы при нажатии на определенный Item в ListView он выделялся определенным цветом и таковым оставался, пока по нему не нажмешь еще раз. Это некоторое подобие списка выбора.

Как такое реализовать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.01.2015, 21:48
Ответы с готовыми решениями:

TabHost, ListView и custom Adapter
Здравствуйте. В общем есть TabHost c 3 вкладками. При нажатии на вкладку ХЗ показаться данные в ListView, но у меня при нажатии на эту...

Цвет item в listview
учусь работать с listview и наткнулся на такую проблему: когда проверял в эмуляторе, то все было нормально, буквы черные на белом фоне,...

Custom ListView - тап по всему ряду
Добрый день. Мой ListView содержит TextView и HorizotalScrollView с несколькими изображениями. При этом обработчик OnItemClickListener...

4
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
02.01.2015, 23:51
Нужно кастомизировать адаптер, перегрузив его метод getView.
Также нужно где-то хранить текущее состояния цвета и при клике сравнивать и устанавливать/изменять по какому-то признаку (например, хроанить в метках к View по setTag/getTag).
И при каждом клике и изменении свойств отображения элементов листвью вызывать NotifyDataChanged() адаптера

Вообще, лучше написать свой адаптер вообще наследовав его от BaseAdapter...

Сумбурно может быть, но идти надо где-то в ту сторону
0
 Аватар для BigOblom
124 / 124 / 17
Регистрация: 30.06.2010
Сообщений: 478
03.01.2015, 20:25  [ТС]
Armagedo, лучше то конечно оно лучше. Я только понял, что перегрузить (Override) надо метод getView у ListView. Этого достаточно будет?
Вообще какова цель этого задания: ListView со списком объектов(будут и button и TextView и EditText) возможно разное количество, в которые будет подгружать (тоже пока не совсем понимаю как) данные (возможно из XML, но в идеале хотелось бы БД) далее в низу кнопка, на которой обработчик события onClick, по которому будет подсчитываться какие варианты были выбраны и на их основании строить круговую диаграмму X)
0
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
03.01.2015, 20:30
+ У листвью нету метода getView...
+ Да, конечно, если всё правильно сделать
0
 Аватар для BigOblom
124 / 124 / 17
Регистрация: 30.06.2010
Сообщений: 478
03.01.2015, 20:38  [ТС]
Armagedo, упс) У адаптера (ArrayAdapter) перегрузить метод)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.01.2015, 20:38
Помогаю со студенческими работами здесь

Изменить цвет у item-a в listView
Привет, вопрос такой. Задача такая: Допустим у меня есть элементы listview разноцветные: (мне нужно при нажатие что бы он стал...

ListView: передача данных в item
Элементы ListView содержат три TextView и два ImageView. В первый TextView записываю данные так: ArrayAdapter&lt;String&gt; adapter...

ListView. Задать высотку Item-а
Посмотрите этот пример(очень простой) - http://freehabr.ru/blog/android/2022.html Как там изменить размер элементов - они все должны быть...

EditText в одном из Item ListView
Помогите решить довольно нестандартную задачу. У меня есть ListView, есть Adapter который делает кастомный вид разметки. В ListView...

Вылет приложения про создании Custom ListView
Главная Activity import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; ...


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

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

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru