Интерфейс, диалоги, темы, стили, меню
-
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
Сообщение
Foenix » 24 мар 2015, 21:29
Да. Тема не новая. Ищи по форуму по словам 'перебор объектов' надо занести в массив эти кнопки и перебирать можно в цикле
-
doter.ua
- Сообщения: 1106
- Зарегистрирован: 23 ноя 2013, 16:08
- Откуда: Ukraine
Сообщение
doter.ua » 25 мар 2015, 00:41
В студии можно создавать спойлеры чтобы не смотреть на это: выделение + Ctrl + . (точка) В англ раскладке это Ctrl + "ю". П.С. названия б1 б2 б3 - ужасны. Для задротов: можно написать макрос который облегчит инициализацию.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
-
AlexeyFedor
- Сообщения: 31
- Зарегистрирован: 03 сен 2013, 14:26
Сообщение
AlexeyFedor » 25 мар 2015, 06:18
justikim писал(а):Как можно организовать инициализацию объектов, когда их много?
Следующий код выглядит ужасно: '
onClick можно описать в XML. Когда будете писать обработчик для себя сделайте комментарий чтобы не забыть где он вызывается.
-
Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Сообщение
Mikhail_dev » 25 мар 2015, 08:48
AlexeyFedor писал(а):justikim писал(а):Как можно организовать инициализацию объектов, когда их много?
Следующий код выглядит ужасно: '
onClick можно описать в XML. Когда будете писать обработчик для себя сделайте комментарий чтобы не забыть где он вызывается.
Не надо этого,
никогда, делать! Не надо мешать контроллеры с их представлением. Так никто из профессионалов не делает
Как можно организовать инициализацию объектов, когда их много?
Я выношу в метод с названием prepareViews() и устанавливаю его в самый конец класса. Этого вполне хватает, чтобы код не мозолил глаза.