..
В предыдущей главе было не намеренно предлагаем читателю оптимизированная версия слушателя, потому что это было предпочтительнее сначала объяснить основы работы для того, чтобы избежать путаницы и следовать линейный путь воздействия. С точки зрения реализации, однако, код, изложенные выше, - как было сказано - это, конечно, не предпочтительным решением.
То, что мы видим сейчас, следовательно, является оптимизированной реализации наших слушателей, создав объект, который будет вызываться по обе OnClickListener кнопки, используя метод setOnClickListener.
Posizioniamoci, затем нажмите файл HelloWorld.java и вставить следующий код:
View.OnClickListener View.OnClickListener менеджер = новый () {
общественного недействительными OnClick (вид В) {
переключатель (view.getId ()) {
R.id.bottone1 дома:
textView1.setText ("E" была нажата кнопка 1 !!!!!");
перерыва;
R.id.bottone2 дома:
textView1.setText (кнопка «Е» была нажата два !!!!!");
перерыва;
}
}
};
bottone1.setOnClickListener (управляющего);
bottone2.setOnClickListener (управляющего);
Итак, сначала вы создаете объект типа OnClickListener и после новая конструкция называется конструктор для класса, то собирается пересмотреть метод OnClick, как мы делали ранее.
Слушателя, что мы создали имеет честь быть одинаковым для обоих bottonni и, следовательно, чем предыдущие реализации, мы сохранили память на новый экземпляр слушателя. Преимущество становится еще более очевидным, как количество кнопок в окне.
В сущности, слушатель способен угадать, какая из двух кнопок была нажата действовать соответственно. Признание нажатии кнопки с помощью переключателя в зависимости от состояния view.getId ().
Как мы видим, метод OnClick имеет в качестве аргумента Посмотреть а потом, когда нажата кнопка, Просмотр Объект инициализируется с нажатой кнопкой. Используя метод GetID () возвращает уникальный идентификатор, связанные с кнопки в файле R.java мы видели в предыдущих главах.
На этом этапе можно выделить кнопку нажатой на основе идентификатора кнопки, как мы видим в случае конструкции.
Как только код для метода OnClick вызывается по обе кнопки setOnClickListener метод в качестве аргумента именно "OnClickListener создали ранее.
Как только понял, код, приведенный в этой главе, она проста в использовании и легко изменить. На самом деле, эта реализация, а также позволяет использовать меньше памяти (но не менее важное при программировании для устройств с очень ограниченным объемом памяти, таких как телефон) имеет большое преимущество, что они оперативно обновлять. Это потому что если нам нужно изменить поведение слушатель будет знать точно, какая часть кода идти отредактировать. То же самое и вы не можете сказать, если они используют старую реализацию, потому что, в таком случае, мы должны пройти весь код для каждого элемента, который используется для слушателя то andarne изменить код внутри.
Более эффективному осуществлению также легко расширяемый, как если бы мы должны вставить другую кнопку, которая использует тот же слушатель должны будут следовать следующие шаги:
| |
ASP (Advanced)
Полный курс для создания динамических веб-сайтов. С 39 €. |
| |
Excel (электронных книг)
Создание электронных таблиц и расчета. Всего лишь 25 €. |
| |
Расширенный веб-мастеров (курс)
Станьте профессиональным веб-мастером. С 39 €. |