#java #android
#java #Android
Вопрос:
Привет 🙂 У меня есть несколько классов, которые вызывают событие onItemClick одного и того же ListView, и внутри каждого из них довольно много кода, и весь код один и тот же. Я видел, как другие люди определяли событие onClick в другом классе, как бы я это сделал?
Любые примеры или учебные пособия были бы высоко оценены. Спасибо
Ответ №1:
Я думаю, что jpm имел в виду «реализовать»:
public class Blah implements OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//do stuff!
}
}
Комментарии:
1. ах, хорошо, спасибо, только что попробовал это, но как он узнает, к какому listview также подключен прослушиватель? нужно ли мне это где-то определять?
2. Итак, где бы ни был объявлен ваш ListView, вы выполняете: Blah listener = new Blah(); list.setOnItemClickListener(слушатель); Причина, по которой это делается не очень часто в примерах, заключается в том, что большую часть времени вам нужна некоторая информация из того места, где объявлен ваш listview. (ага, комментарии не подходят для форматирования кода)
Ответ №2:
Определите класс, который расширяет OnItemClickListener, выполните то, что вы хотите сделать, в его методе onItemClick и установите этот прослушиватель в качестве lisviews OnItemClickListener…
Комментарии:
1. Невозможно расширить OnItemClickListener?
2. извините, реализуйте это… общедоступный класс MyClickListener реализует OnClickListener { @Override public void onClick(Просмотр v) { //ДЕЛАТЬ ВЕЩИ } }