TouchListener auf die Stammansicht einstellen, ohne die Touchevents der untergeordneten Ansicht zu überschreiben?

Meine Aktivität besteht aus einem Framelayout (fragment_content), in dem ich verschiedene Fragmente ersetze / hinzufüge. Jetzt habe ich einen TouchListener auf diesen fragment_content gesetzt, um ein "Two-Finger-Swipe" (-> nur eine Wischbewegung mit zwei Fingern) zu implementieren.

Das Problem, das ich habe, ist, dass sobald mein Fragment von einem ListFragment ausgeht, der TouchListener von fragment_content ignoriert wird. Ich weiß, dass ich einen Touchlistener für die Listenansicht einrichten kann, aber dann muss ich die Einstellungen für die Listenansicht implementieren (-> Scrollen, listItemClick).

Gibt es eine Möglichkeit, einen Touchlistener für meine Stammansicht (-> FrameLayout) festzulegen, ohne die Einstellungen meiner untergeordneten Ansicht (-> ListFragment) zu überschreiben?

BEARBEITEN

Ich habe eine Klasse MyTouchController geschrieben, die sich von FrameLayout erstreckt. In dieser Klasse überschreibe ich die Methode onInterceptTouch ().

In meiner Aktivität, dass contentView main.xml ist, starte ich das Framelayout:

FrameLayout v = (FrameLayout) findViewById(R.id.main_fragment);

Jetzt habe ich das folgende Problem: Wie kann ich die onInterceptTouchMethod dieses main_fragment (-> FrameLayout) überschreiben?

MyTouchController v = (MyTouchController) findViewById(R.id.main_fragment);

löst eine ClassCastEsception aus: android.widget.FrameLayout kann nicht in MyMenuController umgewandelt werden (auch wenn ich MyTouchController im XML-Layout deklariere).

main.xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <FrameLayout
        android:id="@+id/main_fragment"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>

    <FrameLayout 
        android:id="@+id/main_menu"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

</FrameLayout>

EDIT 2 (Lösung)

main.xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <"pkg-name".MyTouchController
        android:id="@+id/main_fragment"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>

    <FrameLayout 
        android:id="@+id/main_menu"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

</FrameLayout>

Aufblasen des Layouts im Code:

MyTouchController v = (MyTouchController) findViewById(R.id.main_fragment);

Antworten auf die Frage(0)

Ihre Antwort auf die Frage