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

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

Войти
Регистрация
Восстановить пароль
 
DeZik1
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 19
#1

Как раскрасить в цвета элементы ListView - Программирование Android

09.09.2016, 21:35. Просмотров 248. Ответов 12
Метки нет (Все метки)

Как раскрасить в цвета элементы ListView
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2016, 21:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как раскрасить в цвета элементы ListView (Программирование Android):

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

Как из AsyncTask Добавить элементы в ListView - Программирование Android
В общем сабж. Используя адаптер как сделать?

Замена цвета background с задержкой для ячейки ListView - Программирование Android
Здравствуйте! Я делаю приложение для тестов. Собственно хочу реализовать следующие. Есть ListView, при нажатии на ячейку если ответ...

Как раскрасить Expandable List - Программирование Android
Добрый день. Помогите раскрасить группы в Expandable List в зависимости от значения STATUS в БД. import java.util.ArrayList; import...

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

Загрузить элементы в Listview - Программирование Android
public class MainActivity extends ListActivity { TextView txt; MyTask mt; List<String> listz; @Override ...

12
vxg
Модератор
3172 / 1975 / 222
Регистрация: 13.01.2012
Сообщений: 7,606
10.09.2016, 07:42 #2
DeZik1, для цветов нужно писать свой адаптер
0
DeZik1
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 19
10.09.2016, 13:28  [ТС] #3
Можно пример. Приходится все изучать на примерах
0
xaat
43 / 16 / 6
Регистрация: 05.12.2015
Сообщений: 65
10.09.2016, 13:34 #4
Вместо ListView изучай сразу RecyclerView, тебе все равно с чем мучатся, а возможностей у RecyclerView много больше
0
vxg
Модератор
3172 / 1975 / 222
Регистрация: 13.01.2012
Сообщений: 7,606
10.09.2016, 13:49 #5
DeZik1
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public class MyAdapter extends BaseAdapter {
    private Context context;
    private ArrayList<String> items;
 
    public MyAdapter(Context context, ArrayList<String> items) {
        this.context = items;
    }
 
    @Override
    public int getCount() {
        return items.size();
    }
 
    @Override
    public Object getItem(int position) {
        return null;
    }
 
    @Override
    public long getItemId(int position) {
        return 0;
    }
 
    private class ViewHolder {
        public TextView text;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = null;
        ViewHolder h = null;
        if (convertView == null) {
            LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = inflater.inflate(R.layout.my_item, null);
 
            h = new ViewHolder();
            h.text = (TextView)view.findViewById(R.id.text);
 
            view.setTag(h);
        } else {
            view = convertView;
            h = (ViewHolder)convertView.getTag();
        }
        
        h.text.setText(items.get(position));
        h.text.setTextColor(position % 2 == 0? 0xFF00FF00 : 0xFF0000FF);
        
        return view;
    }
}
0
DeZik1
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 19
10.09.2016, 18:08  [ТС] #6
Я так понял тут четные и нечетные. А чтобы разукрашивать только определенное поле (допустим TV в нем список вложенные названия и т.п. по строкам) допустим если во вложенном списке дата текущая - желтым, старая - красным.

Добавлено через 10 минут
Беда в том, что половина аудитории на 4.3, а RecycledView появился с Android 5 Lollipop

Я пока пытаюсь понять логику - не могу допереть. Сложно переходить - это 5 язык который учу уже.

Кстати параллельно возник вопрос.
Есть приложение. Если запускаю на эмуляторе API 19 все ок - работает как часы, но при переходе на 22 вылазит ошибка следующая
C
1
2
3
4
5
6
7
8
09-10 15:05:08.519 4513-4547/com.example.ks E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
                                                              Process: com.example.ks, PID: 4513
                                                              java.lang.RuntimeException: An error occured while executing doInBackground()
потер лишнее
                                                               Caused by: java.lang.IllegalStateException: The current thread must have a looper!
потер лишнее
                                                                 at com.example.ks.EditProductActivity$GetProductDetails.doInBackground(EditProductActivity.java:227)
                                                                 at com.example.ks.EditProductActivity$GetProductDetails.doInBackground(EditProductActivity.java:152)
Где строки 227 и 152

C
1
227                                 btnOtmena.setEnabled(false);
C
1
152     class GetProductDetails extends AsyncTask<String, String, String> {
0
vxg
Модератор
3172 / 1975 / 222
Регистрация: 13.01.2012
Сообщений: 7,606
10.09.2016, 18:18 #7
DeZik1, то что я нарисовал - пример - поэтому там красятся четные и нечетные. вы можете давать ему список не строк, а вообще - своих структур - в адаптере просто надо прописать как из этих структур делать то что вы хотите (текст, закраску и так далее)
0
DeZik1
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 19
10.09.2016, 19:08  [ТС] #8
Я тогда пока не понимаю как, я начал программировать еще недавно меньше 2 недель назад. Пока не все понимаю - изучаю на примерах.
0
vxg
Модератор
3172 / 1975 / 222
Регистрация: 13.01.2012
Сообщений: 7,606
10.09.2016, 19:19 #9
DeZik1
создаем файл ItemDesc.java
Java
1
2
3
4
public class ItemDesc {
    public String text;
    public boolean highlight;
}
в списке храним не строки, а эти вот структуры - в поле text храним, то что будет текстом в списке, а в поле highlight храним признак того, что элемент списка должен быть выделен особым образом.
в адаптере делаем так
Java
1
2
        h.text.setText(items.get(position).text);
        h.text.setTextColor(items.get(position).highlight? 0xFFFF0000 : 0xFFFFFFFF);
0
REALIST07
Автор FAQ
Автор FAQ
176 / 176 / 13
Регистрация: 11.06.2010
Сообщений: 934
10.09.2016, 20:07 #10
Делаешь кастомный адаптер и родительскому элементу в getView присваиваешь цвет, который хочешь, как это сделать погугли
0
DeZik1
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 19
10.09.2016, 20:08  [ТС] #11
Все я окончательно запутался.
Т.е. в итоге получится база типа из 2 полей
Текст - цвет.
Затем в Адаптере уже определяется соответствие текста - цвету?
0
vxg
Модератор
3172 / 1975 / 222
Регистрация: 13.01.2012
Сообщений: 7,606
10.09.2016, 20:26 #12
DeZik1, в адаптере вы можете сопоставить все что хотите всему чему хотите - это зависит от задачи. вы хотели увидеть как можно подкрасить элементы списка - выше был пример
0
DeZik1
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 19
10.09.2016, 20:29  [ТС] #13
Я пока не понял ничего, пошел разбираться.
0
10.09.2016, 20:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2016, 20:29
Привет! Вот еще темы с ответами:

Нажатие на элементы ListView - Программирование Android
Всем доброго времени суток. Коллеги, помогите решить проблему. Структура приложения: Data.java public class Data extends...

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

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

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


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

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

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