2014-02-05 7 views
5

Ich kann die Funktion index in addView(View child, int index) eines ViewGroup nicht verstehen. Was ist die index für? Kann index negativen Wert sein? Beeinflusst es die layout oder die Art, die view anzuzeigen? Ich habe den Code mit und ohne index getestet und ich kann den Unterschied nicht sehen.Ist Index in addView() wichtig?

Antwort

3

Der Punkt des index-Attributs ist, dass Sie die Reihenfolge der Ansichten ändern können.

Nehmen wir an, Sie haben eine riesige Liste von Ansichten, und möchten Sie plötzlich einen ganz oben setzen. Wenn Sie den Index dieser Ansicht als 0 angeben, wird er als erster im Layout angezeigt.

Die Android documentation spricht kurz darüber.

Eine vorherige SO Frage zeigt die praktische Verwendung dafür: Android: How to add view at start of layout?.

Wenn Sie nicht wirklich eine Position für die Ansicht angeben müssen, verwenden Sie einfach addView(view).

+0

Also, die Reihenfolge und Position bedeutet Z-Reihenfolge? Ich meine, welche Ansicht liegt über einer anderen? – Fran

+0

@Fran Das könnte man sagen. Es ist wie in der Reihenfolge, in der sie angezeigt werden. 0 ist vor 1 und 5 ist nach 4 in der Anzeigereihenfolge. 0 ist oben (oder links) und die höchste Zahl unten (oder rechts). –

+0

"oder -1 zum letzten hinzufügen" aus den Dokumenten. – rajath

0

Nach dem Testen habe ich festgestellt, dass der Index die Reihenfolge der zu zeichnenden Ansicht darstellt. zB: index = 0 bedeutet, dass diese Ansicht die erste Ansicht ist, die auf der Zeichenfläche gezeichnet wird, anstatt die erste anzuzeigende Ansicht, da index = 1 oder größer diese Ansicht abdecken kann.