Определение событий onClick в другом классе

#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) { //ДЕЛАТЬ ВЕЩИ } }