Я новичок в разработке Android, и я понял, что гораздо труднее использовать все интерфейсы в реальных примерах мира, чем использовать их только в примерах кодов, которые пытаются показать вам, как использовать интерфейс.setOnClickListener анонимный класс?
Так как я хотел бы понять каждую строчку я печатаю Начну с этим:
Button clearButton = (Button) findViewById(R.id.buttonClear);
clearButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
Первая линия проста, я просто назначить кнопку для объекта кнопки на основе его идентификатор из XML но слушатель Я не понимаю, просто я получаю объект clearButton, и я буду использовать один из его методов: setOnClickListener
, а затем в аргументе передаю анонимный класс, поведение которого я бы хотел переопределить, но View.OnClickListener()
- это метод, а не объект? Я пишу класс внутри функции?
new View.OnClickListener() {
@Override
public void onClick(View v) {
}
это выглядит, как будто это функция OnClickListener
, которая содержит встроенный класс так?
Пожалуйста, смотрите на [Java учебник о анонимных классов] (https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html). – SOFe
'View.OnClickListener()' - это конструктор, который вы вызываете в анонимный класс. – 4castle
и им передается новый класс внутри конструктора? –