Klicken Sie in das Layout, um auf ein anderes Layout umzuleiten

9

Ich habe ein Layout, das Fragen und Optionen anzeigt, wenn ich irgendwo anders als auf die Schaltflächen klicke, die ich zum Standardlayout umgeleitet habe. Ich würde gerne wissen, warum das passiert.

Meine Klasse

%Vor%

Mein Design

%Vor%     
tushar narang 23.07.2015, 12:20
quelle

3 Antworten

1

Ich hatte einmal einen Fehler, dass ein Klick auf den weißen Bereich von Fragment B ein onClick-Ereignis im vorherigen (unterliegenden) Fragment A verursachte. Ihr Problem klingt ähnlich wie ich, also nehme ich an, dass Sie auf ein "unsichtbares" klicken. Schaltfläche eines der enthaltenen, aber unsichtbaren Layouts.

Versuchen Sie also, dies dem übergeordneten RelativeLayout hinzuzufügen:

%Vor%     
W3hri 28.07.2015 09:48
quelle
1

Grund : Das liegt daran, dass Ihr vorheriger Bildschirm über den Listener für das übergeordnete Element verfügt, und wenn es in Ihrer Ansicht nicht vorhanden ist, übergibt es dieses Ereignis an die übergeordnete Ansicht.

Lösungen sind viele,

1) Fügen Sie die Zeile android:clickable="true" in der aktuellen Ansicht Ihrer Aktivität / Ihres Fragments hinzu

2) Fügen Sie den folgenden Code in die aktuelle Aktivität / das Fragment onCreate()

ein %Vor%

3) Fügen Sie android:onClick=temp zum übergeordneten Layout Ihrer Ansicht hinzu und erstellen Sie eine temp(View v) -Methode in Ihrer Klasse.

4) Wenn es ein Fragment ist, fügen Sie vor dem Übergang commit() diese Zeile .addToBackStack(null)

hinzu     
MKJParekh 29.07.2015 11:31
quelle
1

Versuchen Sie, die Methode onCreate () der setEnable (false) und / oder setClickable (false) -Methoden der Ansichten außer den Schaltflächen aufzurufen.

Aber vor allem sollten Sie die IDs, nicht die Ansichten direkt überprüfen:

%Vor%

Wenn Ihnen die ID nicht gefällt, sollten Sie mindestens die Methode "equals ()" verwenden:

%Vor%

Sehen Sie, ob es damit funktioniert

    
Stefano Siano 31.07.2015 00:19
quelle

Tags und Links