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

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

Войти
Регистрация
Восстановить пароль
 
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 596
#1

Ко всем элементам меню применяется последняя иконка - Программирование Android

11.10.2015, 03:55. Просмотров 166. Ответов 2
Метки нет (Все метки)

Здравствуйте!

Никак не могу понять из-за чего так происходит... Есть код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
for(int i = 0; i < ts.size(); ++i) {
            final Table.Timetable t = ts.get(i);
            final MenuItem item = menu.add(R.id.timetable_menu, Menu.NONE, i, t.getTitle());
            final GradientDrawable icon = (GradientDrawable)ContextCompat.getDrawable(
                    getContext(),
                    R.drawable.sh_filled_circle
            );
            Log.d(TAG, "Address: " + icon);
            icon.setColor(t.getColor());
            Log.d(TAG, "Color: " + t.getColor());
            item.setIcon(icon);
            timetableIds[i] = t.getId();
        }
Где строится меню для NavigationView из библиотеки design. В лог печатаются разные адреса объекта и код цвета тоже разный, но ко всем элементам меню применяется один и тот же цвет. Как будто бы всем элементам назначен один и тот же drawable.

Добавлено через 8 минут
Видимо Android не создает дубликат в памяти, если грузится одна и та же shape, после вызова mutate() заработало.
На метод случайно наткнулся, иначе, чувствую, долго бы еще голову ломал)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2015, 03:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ко всем элементам меню применяется последняя иконка (Программирование Android):

ActionBar, анимированная иконка меню - Программирование Android
Здравствуйте, необходимо добавить анимированное изображение левее иконки меню в ActionBar`е. Подскажите, пожалуйста, в каком формате...

Реализовать меню выбора арифметического действия, которое будет применено ко всем элементам массива - C++
за 5 числами из массива при выборе операции показывает результат. (сумма, произведение . элементов массива).нужно найти ошибку и...

К каким элементам применяется свойство height? - HTML, CSS
Помогите немного разобраться со свойством height в спецификации написано: Applies to all: elements but non-replaced inline elements,...

Почему a:visited применяется ко всем ссылкам? - HTML, CSS
Ссылки в таблице. Жмешь одну ссылку - тут же окрашиваются все ссылки. Так и надо, нет? О_о

Пройтись по всем элементам в TreeView - C# WPF
Здравствуйте. кинул на форму trrView, а в нее добавил кучку checkbox. подскажите как пройтись по всем элементам и проверить активный ли он...

Применение скрипта ко всем элементам - jQuery
у меня есть функция которая выравнивает дочерний элемент по центру в родительском. Функция берет ширину родительского элемента и отнимает...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
11.10.2015, 19:23 #2
извините мой тупой вопрос:
а зачем внутри цикла создавать финальные переменные? ну или почему Вы делаете так?
заранее спасибо.
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 596
11.10.2015, 19:32  [ТС] #3
Да, это делать не нужно, в этом коде ни на что не влияет) Просто мне так удобнее контролировать их, чтобы случайно нигде не обнулить или еще что при рефакторинге, а время компиляции мне не критично.
К тому же, если я вижу переменную без файнал, то сразу знаю, что имя объекта где-то присваивается новому или null

Добавлено через 3 минуты
Короче я на Haskell еще пишу, поэтому, наверное привык к неизменяемым ссылкам)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2015, 19:32
Привет! Вот еще темы с ответами:

Обратиться ко всем элементам массива - jQuery
Всем привет. Есть массив - var mas1 = и мне нужно обратиться сразу ко всем его элементам, чтобы поменять css свойства у каждого....

Прокрутка ко всем элементам на форме - Lazarus
Возможно ли добавить ко всем элементам на форме в события MouseWheelUp и MouseWheeldown Строчки...

Доступ ко всем элементам на форме - C#
Собственно вопрос в описании..

Циклический поиск по всем элементам datagridview - C#
У меня есть SQL таблица. Надо сделать следующее: for (int i = 0; i &lt; dataGridView1.RowCount; i++) { ...


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

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

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