Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
21.04.2016, 17:09
|
|||
---|---|---|---|
пройти (некоторые) элементы Layout по циклу |
|||
#18+
Привет, в программировании под Андроид опыта почти нет. У меня в activity есть довольно много "залипающих" кнопок, ToggleButton (64 одинаковых, это для управления внешним устройством по ethernet). В OnCreate хочу "подвесить" всем этим кнопкам однотипный обработчик OnCheckedChangeListener. Если делать это для одной кнопки, то делал это вот так: Код: java 1. 2.
Думаю сделать это в цикле для всех 64 кнопок. Названия у них: toggleButton1, ... toggleButton64. Но в findViewById передается id, а не название. Как думаете, как бы мне решить свою задачу? Есть способ по имени найти id View: Resources.getIdentifier, но пишут, что это не очень эффективно: Note: use of this function is discouraged. It is much more efficient to retrieve resources by identifier than by name. Может быть есть способ обойти дочерние элементы Layout в цикле? Или вообще подойти к проблеме с другой стороны. Может кто-нибудь подсказать что-нибудь? ) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.04.2016, 17:29
|
|||
---|---|---|---|
пройти (некоторые) элементы Layout по циклу |
|||
#18+
s62Может кто-нибудь подсказать что-нибудь? ) https://github.com/excilys/androidannotations/wiki/ViewChangeEvents#checkedchange :) Код: java 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.04.2016, 18:17
|
|||
---|---|---|---|
пройти (некоторые) элементы Layout по циклу |
|||
#18+
wadman, спасибо, чуть глянул, потом посмотрю подробнее библиотеку. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.04.2016, 12:29
|
|||
---|---|---|---|
пройти (некоторые) элементы Layout по циклу |
|||
#18+
s62Может быть есть способ обойти дочерние элементы Layout в цикле? Или вообще подойти к проблеме с другой стороны. Может кто-нибудь подсказать что-нибудь? ) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.04.2016, 17:09
|
|||
---|---|---|---|
пройти (некоторые) элементы Layout по циклу |
|||
#18+
Джибс, спасибо, я примерно так и сделал сегодня, через getChildAt, но более примитивно - без рекурсии, использовав то, что знаю конкретную структуру UI. Ваш способ универсальнее, сейчас попробую переписать. А вот пишут, что instanceof - медленный и можно использовать сравнение классов, я писал: Код: java 1. 2.
Можете прокомментировать этот момент? (Хотя, кажется, что несколько десятков использований этого оператора скорее всего не должны реально давать заметного эффекта) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.04.2016, 17:20
|
|||
---|---|---|---|
пройти (некоторые) элементы Layout по циклу |
|||
#18+
s62А вот пишут, что instanceof - медленный и можно использовать сравнение классов Можно, если есть уверенность, что не попадутся наследники класса. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=13&tablet=1&tid=1331123]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 140ms |
0 / 0 |