Наследование Kotlin: передать это как аргумент конструктора

Я пытаюсь создать класс GsonRequest, который расширяет стандартный запрос волейбола, а также реализует прослушиватель ошибок. Код, который я использую для этого, это

public class GsonRequest<T>(url: String, val clazz: Class<T>) : Request<T>(Request.Method.GET, url, this), ErrorListener 

Однако я получаю следующую ошибку: «this» в этом контексте не определяется. Это то, что я пытаюсь сделать возможным?

Вы не можете использовать this на JVM до того, как супер-конструктор закончит работу, поэтому вы не сможете передать его супер-конструктору.

Что вы можете сделать, это использовать выражение объекта или лямбда для прослушивателя ошибок:

 public class GsonRequest<T>(url: String, val clazz: Class<T>) : Request<T>(Request.Method.GET, url, { <handling code here> } ) 

В качестве альтернативы рассмотрим возможность приема слушателя в качестве параметра для конструктора класса GsonRequest

Intereting Posts