У меня есть пользовательское представление MyView
, накачанное из my_view.xml
(с соответствующим классом Java MyView.java
).
Я переопределяю MyView(Context context, AttributeSet attrs)
, чтобы подключить подпредставления к членам класса.
Теперь одно из этих подпредставлений - Button
, и я хотел бы, чтобы мое мнение прослушало нажатие на его кнопку перед передачей этого события делегату. Однако, если я объявлю
this.myButton.setOnClickListener(this);
в конструкторе MyView(Context context, AttributeSet attrs)
(где this
- это экземпляр MyView
) Я получаю NullPointerException
.
Где в MyClass.java
находится подходящее место для звонка this.myButton.setOnClickListener(this);
?
%%
Edit. Какой-то код:
public MyView(Context ctx, AttributeSet attrs)
{
super(context, attrs);
this.myButton = (Button) this.findViewById(R.id.my_button);
this.myButton.setOnClickListener(this); // Raises null pointer;'id' is correct.
}