Fragment über ein anderes Fragment Problem
Wenn ich zeige, ein fragment (der Vollbildmodus ist mit #77000000
hintergrund) über ein weiteres fragment (nennen wir es Haupt -), mein main-fragment noch reagiert auf Klicks (wir können auf eine Schaltfläche klicken, auch wenn wir es nicht sehen).
Frage: wie Sie verhindern, dass Klicks auf den ersten (Haupt -) fragment?
BEARBEITEN
Leider kann ich nicht einfach ausblenden wichtigste fragment, denn ich bin mit transparenten hintergrund, die auf dem zweiten fragment (so kann der Benutzer sehen, was sich hinter).
InformationsquelleAutor der Frage Dmitry Zaytsev | 2012-04-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Set
clickable
Eigenschaft auf dem zweiten fragment die Ansicht zu wahren. Den Blick fangen wird das Ereignis so, dass es nicht an das main-fragment. Also, wenn das zweite fragment ist die Ansicht eines Layouts, das wäre der code:InformationsquelleAutor der Antwort Jure Vizjak
Lösung ist ziemlich einfach. In unserem zweiten fragment (das überlappt sich unsere Haupt-fragment) wir müssen Sie nur fangen
onTouch
Veranstaltung:InformationsquelleAutor der Antwort Dmitry Zaytsev
Fügen Sie einfach
clickable="true"
undfocusable="true"
zu übergeordneten layoutInformationsquelleAutor der Antwort Frank
Sollten Sie verstecken das erste fragment, wenn Sie mit dem zweiten Fragment, wenn zwei Fragmente platziert, die im gleichen container-Ansicht.
InformationsquelleAutor der Antwort JingYeoh
Das klingt wie ein Fall für DialogFragment. Ansonsten mit der Fragment Manager Begehen einen verstecken und die anderen zu zeigen. Das hat für mich gearbeitet.
InformationsquelleAutor der Antwort Juan Mendez
Dem hinzufügen von
android:clickable="true"
hat bei mir nicht funktioniert. Diese Lösung nicht funktioniert auf CoordinatorLayout, wenn es einen Eltern-layout. Das ist, warum ich das gemacht habe RelativeLayout parent-layout Hinzugefügtandroid:clickable="true"
zu und platziert CoordinatorLayout auf das RelativeLayout.InformationsquelleAutor der Antwort Zhebzhik Babich
Was u tun können, ist zu u können, geben Sie eine Leere klicken, um die vorherigen fragment layout durch die Verwendung von onClick-Eigenschaft auf übergeordnete layout, das main-fragment und in der Aktivität können Sie eine Funktion erstellen
doNothing(View view)
und schreiben nichts. Dadurch wird es für Sie tun.InformationsquelleAutor der Antwort Satish Silveri
Beste Weg ist, verwenden Sie FrameLayout ich benutze es für fragment, so dass keine Notwendigkeit zu erklären-Fragmente in andere Xml -
InformationsquelleAutor der Antwort Sumedh Ulhe