Android EditText onTouch Event
У меня есть такой макет:
родитель: RelativeLayout
с onTouchListener
Ребенок: EditText
спичка ведьмы RelativeLayout
Итак EditText
заполняет RelativeLayout
, Я сейчас не хочу вставлять / разрешать ввод в EditText
, Моя цель - уволить onTouchListener
макета. Но это не сработает. Я пробовал разные варианты для EditText
:
setEditable(false)
а такжеsetFocusable(false)
-> Хорошо, поэтому нет ввода, но и нетonTouch()
setOnTouchListener(new OnTouchListener){return false});
-> Насколько я понимаю, это должно работать в сочетании с вариантом 1., но все же нетTouchEvent
вRelativeLayout
,
TextViews
работать без проблем, но я думаю, что это потому, что они не используют onTouch
Одер onClick
, Что я могу сделать, чтобы EditViews (или Views, которые перехватывают touchEvents) не перехватывали touchEvent?
Зачем все это: я хочу переместить RelativeLayout
когда пользователь прикасается к нему. Это работает хорошо, пока я не помещаю детей, которые соответствуют родительским.
Может быть, кто-то может мне помочь.
2 ответа
Вы должны переопределить метод onTouchEvent вашего EditText и вернуть false. Это сработало для меня!
Не видя некоторого кода, трудно привести хороший пример. Вы могли бы сделать:
yourEditText.setEnabled(false);
и включите его, если вам нужно (setEnabled(true);)
Или переопределить OnTouchListener:
yourEditText.setOnTouchListener(new OnTouchListener(){
@override
public boolean onTouch(){
}
});
Ничего не пишите на Touch(). Но это значит, что никогда ничего не случится, даже если Тебе это нужно.