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

Как пройтись циклом по всем Buttons Лаяута - Android

Восстановить пароль Регистрация
 
ILNAR_93
Android
212 / 212 / 21
Регистрация: 19.01.2013
Сообщений: 1,522
Записей в блоге: 2
17.08.2015, 13:26     Как пройтись циклом по всем Buttons Лаяута #1
Как пройтись циклом по всем кнопкам в данном лаяуте? т.е. надо считывать у всех кнопок параметр Text у всех кнопок..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2015, 13:26     Как пройтись циклом по всем Buttons Лаяута
Посмотрите здесь:

Android Убрать панель с названием приложения при редактировании лаяута
Пройтись по всем editText в цикле Android
Android ListView with buttons in DialogFragment skiped frames
Всем доступная директория Android
Можно ли запретить доступ к некоторым сайтам всем приложениям устройства? Android
Заполнение массива данных циклом с интревалом (15 минут) Android
Android Ко всем элементам меню применяется последняя иконка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mikalai
248 / 224 / 91
Регистрация: 11.01.2015
Сообщений: 642
17.08.2015, 14:12     Как пройтись циклом по всем Buttons Лаяута #2
Создай массив Button[]. Заполни его своими кнопками и используй в цикле. Или ты думаешь, что существует магический метод решающий конкретно твою задачу? ))
Паблито
не спать!
1876 / 1610 / 497
Регистрация: 12.05.2014
Сообщений: 5,819
Завершенные тесты: 1
17.08.2015, 14:27     Как пройтись циклом по всем Buttons Лаяута #3
кнопки создаются программно или в xml идут готовые?
Spelcrawler
521 / 491 / 110
Регистрация: 12.03.2014
Сообщений: 1,641
Завершенные тесты: 1
17.08.2015, 15:11     Как пройтись циклом по всем Buttons Лаяута #4
Цитата Сообщение от Mikalai Посмотреть сообщение
Или ты думаешь, что существует магический метод решающий конкретно твою задачу? ))
Существует)

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
    private ViewGroup mMainView;
    private List<TextView> mTextViews;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mMainView = (ViewGroup) View.inflate(this, R.layout.activity_settings, null);
        setContentView(mMainView);
        List<String> texts = getAllText();
    }
 
    private List<String> getAllText(){
        mTextViews = new ArrayList<>();
        findAllTextViews(mMainView);
        List<String> texts = new ArrayList<>();
        for(TextView textView : mTextViews){
            texts.add(String.valueOf(textView.getText()));
        }
        
        return texts;
    }
 
    private void findAllTextViews(ViewGroup viewGroup) {
        int count = viewGroup.getChildCount();
        for (int i = 0; i < count; i++) {
            View view = viewGroup.getChildAt(i);
            if (view instanceof ViewGroup)
                findAllTextViews((ViewGroup) view);
            else if (view instanceof TextView) {
                mTextViews.add((TextView) view);
            }
        }
    }
ILNAR_93
Android
212 / 212 / 21
Регистрация: 19.01.2013
Сообщений: 1,522
Записей в блоге: 2
17.08.2015, 16:55  [ТС]     Как пройтись циклом по всем Buttons Лаяута #5
Паблито, динамически (ПРОГРАММНО)

Добавлено через 1 час 32 минуты
Spelcrawler, Это получается для статических кнопок?

а для динамически добавляемых?

я пробую ViewGroup достать так:
Java
1
mMainView = (ViewGroup) act.getParent();
но ругается типо неконвертируемый тип бла бла..
Spelcrawler
521 / 491 / 110
Регистрация: 12.03.2014
Сообщений: 1,641
Завершенные тесты: 1
17.08.2015, 17:00     Как пройтись циклом по всем Buttons Лаяута #6
Цитата Сообщение от ILNAR_93 Посмотреть сообщение
Это получается для статических кнопок?
Для любых.
Цитата Сообщение от ILNAR_93 Посмотреть сообщение
я пробую ViewGroup достать так:
Доставайте, как я написал. По другому не выйдет.
Паблито
не спать!
1876 / 1610 / 497
Регистрация: 12.05.2014
Сообщений: 5,819
Завершенные тесты: 1
17.08.2015, 17:02     Как пройтись циклом по всем Buttons Лаяута #7
можно при создании кнопок задавать им setTag()
а потом в цикле отбирать не по instanceof, а по тегу, только с проверкой тега на null
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2015, 17:34     Как пройтись циклом по всем Buttons Лаяута
Еще ссылки по теме:

Как извлечь данные из сервера Parse, чтобы эти данные были видны всем? Android
Android Верхняя часть лаяута уходит за пределы экрана

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

Или воспользуйтесь поиском по форуму:
Spelcrawler
521 / 491 / 110
Регистрация: 12.03.2014
Сообщений: 1,641
Завершенные тесты: 1
17.08.2015, 17:34     Как пройтись циклом по всем Buttons Лаяута #8
Цитата Сообщение от Паблито Посмотреть сообщение
можно при создании кнопок задавать им setTag()
Тогда уж проще их сразу в массив складывать) Этот способ как раз для самых ленивых, ничего дополнительного делать не нужно и найдет все кнопки.
Yandex
Объявления
17.08.2015, 17:34     Как пройтись циклом по всем Buttons Лаяута
Ответ Создать тему
Опции темы

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