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

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

Войти
Регистрация
Восстановить пароль
 
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,644
Записей в блоге: 3
#1

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

17.08.2015, 13:26. Просмотров 251. Ответов 7
Метки нет (Все метки)

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

Пройтись по всем editText в цикле - Программирование Android
Как пройтись по всем editText в цикле?

Верхняя часть лаяута уходит за пределы экрана - Программирование Android
если клавиатура открыта то верхняя часть лаяута уходит вверх за пределы экрана.. (Action bar соответственно тоже) Что это может...

Убрать панель с названием приложения при редактировании лаяута - Программирование Android
Подскажите как можно избавится от bar-а где написано название приложения именно при редактировании лаяута. Так как если использовать...

ListView with buttons in DialogFragment skiped frames - Программирование Android
Не сплю уже долгое время, не могу исправить ошибку. В DialogFragment лагает скролл списка и нажатия на кнопку. есть две кнопки Plus і...

Заполнение массива данных циклом с интревалом (15 минут) - Программирование Android
День добрый , требуется заполнить массив цифрами в формате времени от 00:00 до 23:45 с интервалом в 15 минут скажем заходим в...

Всем доступная директория - Программирование Android
Добрый день. Что имею: При авторизации проверяю наличие новой версии, если таковая имеется необходимо ее скачать и запустить. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
17.08.2015, 14:12     Как пройтись циклом по всем Buttons Лаяута #2
Создай массив Button[]. Заполни его своими кнопками и используй в цикле. Или ты думаешь, что существует магический метод решающий конкретно твою задачу? ))
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,603
Завершенные тесты: 1
17.08.2015, 14:27     Как пройтись циклом по всем Buttons Лаяута #3
кнопки создаются программно или в xml идут готовые?
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 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
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,644
Записей в блоге: 3
17.08.2015, 16:55  [ТС]     Как пройтись циклом по всем Buttons Лаяута #5
Паблито, динамически (ПРОГРАММНО)

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

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

я пробую ViewGroup достать так:
Java
1
mMainView = (ViewGroup) act.getParent();
но ругается типо неконвертируемый тип бла бла..
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
17.08.2015, 17:00     Как пройтись циклом по всем Buttons Лаяута #6
Цитата Сообщение от ILNAR_93 Посмотреть сообщение
Это получается для статических кнопок?
Для любых.
Цитата Сообщение от ILNAR_93 Посмотреть сообщение
я пробую ViewGroup достать так:
Доставайте, как я написал. По другому не выйдет.
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,603
Завершенные тесты: 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 Лаяута
Еще ссылки по теме:

Ко всем элементам меню применяется последняя иконка - Программирование Android
Здравствуйте! Никак не могу понять из-за чего так происходит... Есть код: for(int i = 0; i &lt; ts.size(); ++i) { final...

Можно ли запретить доступ к некоторым сайтам всем приложениям устройства? - Программирование Android
Можно ли запретить доступ к некоторым сайтам всем приложениям устройства? Если есть соединение, то разрешить пару сайтов. Накопала...

Как пройтись по всем веткам TreeView циклом? - C#
Цикл проходит только по узлам, а до конечных веток не доходит. Подскажите, пожалуйста, как сделать чтобы цикл доходил до веток? Код: ...

Пройтись циклом for по всем символам в текстовом файле - C++
Как в С++ открыть файл и пройтись циклом for по всем символам в текстовом файле. Это нужно для выполнения заданий: 14. Выписать из...


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

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

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