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

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

Войти
Регистрация
Восстановить пароль
 
ILNAR_93
Android
217 / 217 / 21
Регистрация: 19.01.2013
Сообщений: 1,587
Записей в блоге: 2
#1

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

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

Как пройтись циклом по всем кнопкам в данном лаяуте? т.е. надо считывать у всех кнопок параметр 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
254 / 230 / 93
Регистрация: 11.01.2015
Сообщений: 649
17.08.2015, 14:12     Как пройтись циклом по всем Buttons Лаяута #2
Создай массив Button[]. Заполни его своими кнопками и используй в цикле. Или ты думаешь, что существует магический метод решающий конкретно твою задачу? ))
Паблито
2012 / 1754 / 545
Регистрация: 12.05.2014
Сообщений: 6,208
Завершенные тесты: 1
17.08.2015, 14:27     Как пройтись циклом по всем Buttons Лаяута #3
кнопки создаются программно или в xml идут готовые?
Spelcrawler
523 / 493 / 111
Регистрация: 12.03.2014
Сообщений: 1,646
Завершенные тесты: 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
217 / 217 / 21
Регистрация: 19.01.2013
Сообщений: 1,587
Записей в блоге: 2
17.08.2015, 16:55  [ТС]     Как пройтись циклом по всем Buttons Лаяута #5
Паблито, динамически (ПРОГРАММНО)

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

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

я пробую ViewGroup достать так:
Java
1
mMainView = (ViewGroup) act.getParent();
но ругается типо неконвертируемый тип бла бла..
Spelcrawler
523 / 493 / 111
Регистрация: 12.03.2014
Сообщений: 1,646
Завершенные тесты: 1
17.08.2015, 17:00     Как пройтись циклом по всем Buttons Лаяута #6
Цитата Сообщение от ILNAR_93 Посмотреть сообщение
Это получается для статических кнопок?
Для любых.
Цитата Сообщение от ILNAR_93 Посмотреть сообщение
я пробую ViewGroup достать так:
Доставайте, как я написал. По другому не выйдет.
Паблито
2012 / 1754 / 545
Регистрация: 12.05.2014
Сообщений: 6,208
Завершенные тесты: 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
523 / 493 / 111
Регистрация: 12.03.2014
Сообщений: 1,646
Завершенные тесты: 1
17.08.2015, 17:34     Как пройтись циклом по всем Buttons Лаяута #8
Цитата Сообщение от Паблито Посмотреть сообщение
можно при создании кнопок задавать им setTag()
Тогда уж проще их сразу в массив складывать) Этот способ как раз для самых ленивых, ничего дополнительного делать не нужно и найдет все кнопки.
Yandex
Объявления
17.08.2015, 17:34     Как пройтись циклом по всем Buttons Лаяута
Ответ Создать тему
Опции темы

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