View.OnClickListener () – функция или интерфейс

Является ли View.OnClickListener () функцией или интерфейсом? Когда мы пытаемся установить метод onclicklistener () в android, мы используем новый View.OnClickListener (), и это меня задевает там, насколько я знаю,

  • Нам не нужно инициализировать объект класса, содержащий статический метод inorder, чтобы использовать эти методы. Почему мы это делаем?
  • Когда мы используем инструменты inorder для реализации интерфейса, мы не вызываем статические методы интерфейса.

Так кто-нибудь скажет мне, почему мы это делаем:

  • New View.OnClickListener (), для использования метода onclick ()?
  • Почему мы используем () с View.OnClickListener, если это интерфейс?

Спасибо за ваш ответ..

Solutions Collecting From Web of "View.OnClickListener () – функция или интерфейс"

Я не уверен, что понимаю, что вы пишете о статических методах. View.OnClickListener – это интерфейс: http://developer.android.com/reference/android/view/View.OnClickListener.html

Чтобы установить прослушиватель кликов в представлении, вы передаете экземпляр, реализующий интерфейс OnClickListerner: http://developer.android.com/reference/android/view/View.html#setOnClickListener(android.view.View.OnClickListener)

Самый распространенный способ сделать это в android – определить анонимный внутренний класс ( http://docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html ), который реализует OnClickListener как

myView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Handle view click here } }); 

Приведенный выше код определяет анонимный внутренний класс и создает его экземпляр. Это эквивалентно первому определению класса, реализующего View.OnClickListener (если он определен в том же классе)

 class MyOnClickListener implements View.OnClickListener { @Override public void onClick(View v) { // Handle view click here } } 

И позже, используя это

 MyOnClickListener listener = new MyOnClickListener(); myView.setOnClickListener(listener);