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

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

Войти
Регистрация
Восстановить пароль
 
BigOblom
118 / 118 / 7
Регистрация: 30.06.2010
Сообщений: 435
#1

Custom ListView item setColor - Программирование Android

02.01.2015, 21:48. Просмотров 526. Ответов 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 он выделялся определенным цветом и таковым оставался, пока по нему не нажмешь еще раз. Это некоторое подобие списка выбора.

Как такое реализовать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2015, 21:48     Custom ListView item setColor
Посмотрите здесь:

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

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

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

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

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

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

Ошибка при выборе Item в ListView - Программирование Android
Здравствуйте уважаемые форумчане. Не могу определить где ошибся. У меня есть ListView где несколько Item-ов при клике на любой из них...

ListView кнопка добавить item в избранное - Программирование Android
Здравствуйте форумчане, не нашел в инете подобный вопрос, может неправильно делал поисковой запрос. Вообщем, у меня есть ListView со 100...

В listView в item отображать картинки одинакового размера - Программирование Android
загружаю картинки с сервера, они разных размеров. Скажите как в listView в item показывать картинки одинакового размера (можно обрезать,...

Убрать все виды выделений с item в ListView - Программирование Android
Использую android:cacheColorHint=&quot;@android:color/transparent&quot;, но не помогает. Как можно убрать все виды выделений с item в...

Изменил фон для Custom ListView не работает подсветка при нажатии - Программирование Android
Для каждого четного Custom ListView устанавливаю цвет фона : if ((position % 2)!=0) ...

Сдвиг item в ListView не до конца, а под ним кнопка - Программирование Android
нужен простой пример как реализовать сдвиг item в listview, как на фото http://jpg.by/?dm=4RH1 сдвигаем - оно сдвигается не до...


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

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

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

Сумбурно может быть, но идти надо где-то в ту сторону
BigOblom
118 / 118 / 7
Регистрация: 30.06.2010
Сообщений: 435
03.01.2015, 20:25  [ТС]     Custom ListView item setColor #3
Armagedo, лучше то конечно оно лучше. Я только понял, что перегрузить (Override) надо метод getView у ListView. Этого достаточно будет?
Вообще какова цель этого задания: ListView со списком объектов(будут и button и TextView и EditText) возможно разное количество, в которые будет подгружать (тоже пока не совсем понимаю как) данные (возможно из XML, но в идеале хотелось бы БД) далее в низу кнопка, на которой обработчик события onClick, по которому будет подсчитываться какие варианты были выбраны и на их основании строить круговую диаграмму X)
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
03.01.2015, 20:30     Custom ListView item setColor #4
+ У листвью нету метода getView...
+ Да, конечно, если всё правильно сделать
BigOblom
118 / 118 / 7
Регистрация: 30.06.2010
Сообщений: 435
03.01.2015, 20:38  [ТС]     Custom ListView item setColor #5
Armagedo, упс) У адаптера (ArrayAdapter) перегрузить метод)
Yandex
Объявления
03.01.2015, 20:38     Custom ListView item setColor
Ответ Создать тему
Опции темы

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