Fragment android: Sichtbarkeit in XML-Layout-Definition

8

Wie funktioniert es? Ich habe Layout wie folgt:

%Vor%

Beachten Sie, dass das zweite Fragment android:visibility="gone" hat und tatsächlich nicht auf dem Bildschirm sichtbar ist. Aber dieser Code:

%Vor%

gibt true zurück, was von mir nicht erwartet wurde. Ich frage mich, ob android:visibility korrekt ist, weil ich in der Dokumentation keine Informationen darüber finden konnte.

    
Michal 09.05.2013, 16:46
quelle

2 Antworten

6

Für die Fragmentquelle , isVisible ist definiert als:

%Vor%

Dh es ist an die Aktivität angehängt, es ist nicht versteckt (über die FragmentTransaction.hide ), die Ansicht ist aufgebläht, die Ansicht ist an ein Fenster angehängt, und die Innenansicht des Fragments ist View.VISIBLE .

Ich glaube, das Problem besteht darin, dass das System ein Layout erstellt, um die Fragmentansicht zu aktualisieren, um Ihr Fragment aufzublasen. Es ist diese Ansicht, die Sie auf View.GONE setzen, nicht die innere Ansicht, die das Fragment erstellt.

Ich könnte vorschlagen, dass du deinen Zustand änderst:

%Vor%     
ianhanniballake 09.05.2013, 17:15
quelle
0

Ich habe es versucht

XML

%Vor%

Code

%Vor%

Und mein Logbuch war:

%Vor%

Von Androiden Dokumentation , isVisible () Gibt true zurück, wenn der Fragment ist derzeit für den Benutzer sichtbar. Das bedeutet: (1) wurde hinzugefügt, (2) hat seine Ansicht an das Fenster angehängt und (3) ist nicht ausgeblendet.

Vielleicht haben Sie das Fragment noch nicht hinzugefügt? aus dem Code kann ich nicht sagen. Hoffe, das hilft.

    
Ende Neu 09.05.2013 17:13
quelle