Ich habe eine RelativeLayoutso:
<RelativeLayout>
<TextView1/>
<TextView2/> // <-- View.VISIBLE OR View.GONE
<TextView3/>
<TextView4/>
</RelativeLayout>
Jeder TextViewist unter dem vorherigen TextViewmit verankert android:layout_below.
Das Problem ist, dass TextView2 möglicherweise vorhanden ist oder nicht (entweder View.VISIBLEoder View.GONE). Wenn ja View.VISIBLE, ist alles in Ordnung, aber wenn View.GONEja, wird TextView3 über TextView1 gerendert.
Ich habe verschiedene Möglichkeiten ausprobiert, um dies zu beheben, aber jedes Mal, wenn RelativeLayoutSie von 's' überrascht werden, können Sie nicht auf eine ID verweisen, bevor diese als 'Regel' definiert ist.
Ich hoffe, dass mir hier etwas Offensichtliches fehlt.
RelativeLayoutverfügt über einen eingebetteten Mechanismus zum Auffinden der nächstgelegenen Nicht-GONE-Ankeransicht. Ich habe bei Gingerbread nachgesehen und es ist sogar dort vorhanden: github.com/aosp-mirror/platform_frameworks_base/blob/…