Android обнаруживает при касании внутри фрагмента

введите здесь описание изображения

У меня есть два фрагмента в моей деятельности. Фрагмент2 перекрывает Фрагмент1. И Fragment1 занимает весь экран. Когда пользователь нажимает Fragment1, я бы хотел, чтобы Fragment2 исчез.

Мой вопрос: как я могу определить, что Fragment1 был использован?

Fragment1 в основном состоит из веб-просмотра, который, как я думал, я мог бы использовать его setOnTouchListener, но, похоже, он никогда не вызывается.

Мы ценим любые предложения.

Брэдли4

Вот как я реализовал onTouchListener:

1) сначала я реализовал "OnTouchListener"

public class Frag_ItemDetail extends Fragment implements OnTouchListener {

2) затем я отключил onTouch

@Override
public boolean onTouch(View v, MotionEvent event) {
Log.d("myclass", "onTouch"); 
return false;
}

3) затем я установил setOnTouchListener в свой веб-просмотр

WebView itemFullDescription = (WebView) v.findViewById(R.id.itemFullDescription);
WebView.setOnTouchListener(this); 

Я установил onTouchListenerner на кнопку, и все заработало нормально. Это просто не работает для веб-просмотра.


person bradley4    schedule 18.08.2011    source источник
comment
я разместил несколько фрагментов кода. Сейчас я собираюсь попробовать что-то на уровне активности, и, надеюсь, мне повезет больше.   -  person bradley4    schedule 19.08.2011
comment
Вместо этого я использовал onInterceptTouchEvent(), который хорошо работает с WevViews.   -  person bradley4    schedule 19.08.2011
comment
Я считаю, что регистрация сенсорного прослушивателя с помощью Fragment не имеет никакого эффекта, вместо этого вы должны ориентироваться на корневой вид/макет, см. onclick-method-still-response-when-it-has-star" title="почему мои фрагменты ontouch и метод onclick по-прежнему отвечают, когда у него есть звезда"> stackoverflow.com/questions/12469651/   -  person Cel    schedule 27.09.2012


Ответы (2)


Я расширил класс LinearLayout и переопределил onInterceptTouchEvent, чтобы при прикосновении к Fragment1 Fragment2 исчезало, что работает.

person bradley4    schedule 26.08.2011

Разве ваш return false не должен быть return true? Если коснуться активности 2 (или веб-просмотра), она должна вернуться как истина. или наоборот

person yoshi24    schedule 18.08.2011
comment
Спасибо за помощь Yoshi24, но изменение на true не помогло. - person bradley4; 19.08.2011