Я создал представление, расширяющее RelativeLayout, и я, что это, этот вид, чтобы иметь возможность обрабатывать события касания. Так что я подумал о том, чтобы реализовать OnTouchListener в моем пользовательский элемент управления, как это:Реализовать View.OnTouchListener на пользовательский контроль
class MyCustomControl extends RelativeLayout implements View.OnTouchListener {
public MyCustomControl (Context context) {
super(context);
}
public MyCustomControl (Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyCustomControl (Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
other_methods;
@Override
public boolean onTouch(View view, MotionEvent event) {
//event handle here.
}
}
Это не работает, но если я делаю что-то вроде этого, он делает:
MyCustomControl control = (MyCustomControl) LayoutInflater.from(context).inflate(R.layout.my_control, null);
control.setOnTouchListener(control);
Что должен Я делаю, чтобы встроенный (уже определенный и активированный) touchListener в моем пользовательском элементе управления?
Вам все еще нужно добавить слушателя для того, чтобы работать. – Carnal
Покажите мне свой конструктор. – Carnal
Я видел, что на классах, которые расширяют Activity, это не нужно. – TGeorge