Frage

Es sollte einfach, nicht wahr sein? So - hier ist, wie ich ViewSwitcher in XML definiert haben (IDs und Layouts der Kürze halber weggelassen)

<ViewSwitcher android:layout_height="wrap_content" android:layout_width="fill_parent" >       
    <!-- First view, comes up OK --> 
    <LinearLayout android:id="@+id/header1">
        <!-- some more controls: Progress bar, test view and the button -->
    </LinearLayout>
    <!-- second view. changing to the actual (not include) layout has no effect -->
    <include android:id="@+id/header2" />
</ViewSwitcher>

Dann irgendwo in meinem Java-Code Ich habe diesen Code

ViewSwitcher switcher = (ViewSwitcher) findViewById(R.id.profileSwitcher);
// more code that basically executes background search
// when call comes back - switch
switcher.bringToFront(); // does nothing
// switcher.bringChildToFront(findViewById(R.id.header2)); // no effect ether

Es ist Schalt einfach nicht. Ich entwickle für API v. 3 (1.5+) und zu meiner Überraschung gibt es sehr wenige Hinweise auf ViewSwitcher. Ich bin ich etwas fehlt offensichtlich hier?

P. S. Ich habe gerade mit brutalen Gewalt aus, dass dies funktioniert:

switcher.setDisplayedChild(1);

Noch - warum kein Glück mit bringToFront()

War es hilfreich?

Lösung

bringToFront() eigentlich nichts hat mit ViewSwitcher zu tun, wird das Verfahren von View-Klasse geerbt und steht für Z-Reihenfolge Manipulation der aktuellen Ansicht: https://developer.android.com/reference/android/view/View.html#bringToFront ()

Sie haben showNext() und showPrevious() Methoden von ViewAnimator geerbt verwenden.

Andere Tipps

In ViewSwitcher zwischen den Ansichten navigieren können Sie die Methoden verwenden showPrevious() und showNext()

oder benutzen kann auch durch setDisplayedChild(int index) Methode bestimmte Ansicht gehen, wo Index entweder 0 sein kann oder 1

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top