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

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

Войти
Регистрация
Восстановить пароль
 
rus_artur4ik
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 31
#1

Как обращаться к кнопке из массива методом switch? - Программирование Android

02.06.2014, 08:32. Просмотров 729. Ответов 5
Метки нет (Все метки)

Всем привет!

Создал массив кнопок:
Java
1
Button buttons[] = new Button[100];
А как обращаться к кнопкам из массива методом switch я не знаю((
Только не надо давать ссылки на книги на озоне.

Спасибо!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2014, 08:32     Как обращаться к кнопке из массива методом switch?
Посмотрите здесь:

Как в Android Studio обращаться к компонентам (кнопкам, полям, и т.д.)? - Программирование Android
как например делать что бы при клике на кнопку(в андроид студио)всплывало сообщение или переменная одного поля присваивалась другому. ...

Как поместить Switch в NavigationView? - Программирование Android
Как поместить Switch в NavigationView? Пробовал поместить в меню NavigationView,но ничего не отображается activity_maps_drawer <?xml...

Как заменить иконку на кнопке? - Программирование Android
Не могу найти метод меняющего иконку на обычной кнопке Button в зависимости от условий. Вариант с ToggleButton не подходит.

Как листать фрагменты в ViewPager по кнопке? - Программирование Android
Доброго дня. Есть фрагменты, Листаемые в ViewPager'е. Помимо возможности перелистывания фрагментов жестами (и в шапке, во вкладках)...

Как менять картинки на кнопке при нажатии? - Программирование Android
как менять картинке на кнопке? (когда нажата одна картинка а когда отпущена другая)

Как прописать ссылки на сторонний ресурс через switch - Программирование Android
Доброго времени суток. Я здесь новичок, поэтому не судите строго. Столкнулся с необходимостю в navigation grawer к каждому элементу меню...

По строке TextView щёлкать как по кнопке с обработкой события - Программирование Android
Добрый вечер. Вопрос такой. Я хочу чтобы по строке (выходит по элементу TextView) можно было щёлкать ка по кнопке, чтобы вызывался...

Как сделать текст на кнопке зачеркнутым (по нажатию на эту кнопку)? - Программирование Android
Может быть есть вариант добавить поверх текста картинку-линию(с альфа каналом) или по другому как-то(легче)?

Клиент bluetooth. как в кнопке правильно вызвать метод для подключения? - Программирование Android
нашел в интернете готовый класс private class ConnectThread extends Thread { private final BluetoothSocket mmSocket; ...

Сбросил пароли БД после предложение перестало обращаться - Программирование Android
Доброй ночи. Помогите пожалуйста разобраться. Несколько лет назад один разработчик сделал небольшое андройд приложение. Все работало....

Как сделать выход из приложения по кнопке выход - Программирование Android
Привет! Имеется 3 активити. А1 - запускается при запуске приложения(анимация) А2 - меню ( с кнопкой выход) А3 - мейн...

Custom switch - Программирование Android
Ребята может у кого есть реализованный? со всеми необходимыми ресурсами


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
02.06.2014, 09:54     Как обращаться к кнопке из массива методом switch? #2
Этой строчкой вы лишь создали массив ссылок на Button. Все ссылки сейчас равны null, поэтому сейчас массив нужно заполнить:
Java
1
2
3
4
        Button buttons[] = new Button[100];
        for (int i=0 ; i<100; i++) { 
            buttons[i] = new Button(getApplicationContext());
        }
Ну а потом можно обращаться к элементам массива и делать с кнопками что угодно:

Java
1
2
        buttons[0].setText("test");
        buttons[1].setBackgroundColor(Color.RED);
А как обращаться к кнопкам из массива методом switch я не знаю
Опишите поподробнее этот момент
rus_artur4ik
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 31
03.06.2014, 00:11  [ТС]     Как обращаться к кнопке из массива методом switch? #3
angryrobot,
Цитата Сообщение от angryrobot Посмотреть сообщение
Опишите поподробнее этот момент
Я хотел создать onClickListener, чтобы активити использовался в качестве обработчика (На сколько я знаю - это самый экономный способ).

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class MainActivity extends Activity implements OnClickListener {
 
...
 
@Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (?) {   // Не понятно что писать
        case ?:    // Тут тоже
            buttons[0].setText("asdf");   // Любой код
            break;
        }
    }
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
03.06.2014, 08:28     Как обращаться к кнопке из массива методом switch? #4
Если у вас массив new Button[100], то 100 case будете писать?
А по сути надо получать int кнопки и с ним работать.
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
03.06.2014, 10:10     Как обращаться к кнопке из массива методом switch? #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от rus_artur4ik Посмотреть сообщение
Я хотел создать onClickListener, чтобы активити использовался в качестве обработчика (На сколько я знаю - это самый экономный способ).
Нужно назначить каждой кнопке уникальный идентификатор и задать для неё один и тот же обработчик нажатия. А внутри обработчика, проверять этот идентификатор:

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
34
35
public class MainActivity extends ActionBarActivity implements OnClickListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        Button buttons[] = new Button[100];
        for (int i=0 ; i<100; i++) { 
            buttons[i] = new Button(getApplicationContext());
            //Назначаем идентификатор
            buttons[i].setId(i);
            //Назначаем листенер
            buttons[i].setOnClickListener(this);
        }
    }
    
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case 0:
            ((Button) v).setText("test1111");
            break;
        case 1:
            ((Button) v).setText("test2222");
            break;
        case 2:
            ((Button) v).setText("test3333");
            break;
        /// итд
        default:
            break;
        }
    }
 
}
rus_artur4ik
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 31
03.06.2014, 11:55  [ТС]     Как обращаться к кнопке из массива методом switch? #6
Rube,
Цитата Сообщение от Rube Посмотреть сообщение
Если у вас массив new Button[100], то 100 case будете писать?
А по сути надо получать int кнопки и с ним работать.
А как?

Добавлено через 9 минут
angryrobot,
Спасибо вам большое, все работает!
Yandex
Объявления
03.06.2014, 11:55     Как обращаться к кнопке из массива методом switch?
Ответ Создать тему
Опции темы

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