Страница 1 из 1

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

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

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

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);

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

Добавлено: 24 мар 2015, 21:29
Foenix
Да. Тема не новая. Ищи по форуму по словам 'перебор объектов' надо занести в массив эти кнопки и перебирать можно в цикле

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

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

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

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

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

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