"Причесать" инициализацию объектов.

Интерфейс, диалоги, темы, стили, меню
Ответить
justikim
Сообщения: 6
Зарегистрирован: 24 мар 2015, 20:10

"Причесать" инициализацию объектов.

Сообщение justikim » 24 мар 2015, 20:13

Как можно организовать инициализацию объектов, когда их много?
Следующий код выглядит ужасно: '

Код: Выделить всё

b1 = (Button)findViewById(R.id.b1);
        b2 = (Button)findViewById(R.id.b2);
        b3 = (Button)findViewById(R.id.b3);
        b4 = (Button)findViewById(R.id.b4);
        b5 = (Button)findViewById(R.id.b5);
        b6 = (Button)findViewById(R.id.b6);
        b7 = (Button)findViewById(R.id.b7);
        b8 = (Button)findViewById(R.id.b8);
        b9 = (Button)findViewById(R.id.b9);
        b10 = (Button)findViewById(R.id.b10);
        text = (TextView) findViewById(R.id.text);
        textView = (TextView) findViewById(R.id.textView);
        b1.setOnClickListener(this);
        b2.setOnClickListener(this);
        b3.setOnClickListener(this);
        b4.setOnClickListener(this);
        b5.setOnClickListener(this);
        b6.setOnClickListener(this);
        b7.setOnClickListener(this);
        b8.setOnClickListener(this);
        b9.setOnClickListener(this);
        b10.setOnClickListener(this);

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: "Причесать" инициализацию объектов.

Сообщение Foenix » 24 мар 2015, 21:29

Да. Тема не новая. Ищи по форуму по словам 'перебор объектов' надо занести в массив эти кнопки и перебирать можно в цикле
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: "Причесать" инициализацию объектов.

Сообщение doter.ua » 25 мар 2015, 00:41

В студии можно создавать спойлеры чтобы не смотреть на это: выделение + Ctrl + . (точка) В англ раскладке это Ctrl + "ю". П.С. названия б1 б2 б3 - ужасны. Для задротов: можно написать макрос который облегчит инициализацию.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

AlexeyFedor
Сообщения: 31
Зарегистрирован: 03 сен 2013, 14:26

Re: "Причесать" инициализацию объектов.

Сообщение AlexeyFedor » 25 мар 2015, 06:18

justikim писал(а):Как можно организовать инициализацию объектов, когда их много?
Следующий код выглядит ужасно: '
onClick можно описать в XML. Когда будете писать обработчик для себя сделайте комментарий чтобы не забыть где он вызывается.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: "Причесать" инициализацию объектов.

Сообщение Mikhail_dev » 25 мар 2015, 08:48

AlexeyFedor писал(а):
justikim писал(а):Как можно организовать инициализацию объектов, когда их много?
Следующий код выглядит ужасно: '
onClick можно описать в XML. Когда будете писать обработчик для себя сделайте комментарий чтобы не забыть где он вызывается.
Не надо этого, никогда, делать! Не надо мешать контроллеры с их представлением. Так никто из профессионалов не делает
Как можно организовать инициализацию объектов, когда их много?
Я выношу в метод с названием prepareViews() и устанавливаю его в самый конец класса. Этого вполне хватает, чтобы код не мозолил глаза.

Ответить