W porządku, więc mam aplikację, która mainterfejs z kartami. Chciałbym wiedzieć, w jaki sposób mogę zmienić aktualnie aktywny widok na karcie, a kiedy skończę z tym widokiem, wróć do pierwotnego widoku, dokładnie tak, jak było.
Odpowiedzi:
1 dla odpowiedzi № 1Możesz także użyć ViewFlipper, zdefiniowanego w xml.
<ViewFlipper android:id="@+id/ScreenSwitch"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<element A>
<element B>
<element C>
</ViewFlipper>
Użycie jest proste, wystarczy znaleźć obiekt ViewFlipper poprzez findViewById () i zażądać zmiany:
viewFlipper.setDisplayedChild( idOfViewToSet );
To zależy od ciebie, jak budujesz "zakładki".
0 dla odpowiedzi nr 2
Aby utworzyć widok, prawdopodobnie potrzebujesz czegoś takiego:
import android.view.View;
import android.widget.TabHost;
public class MyViewController implements TabHost.TabContentFactory
{
private View myRootView;
@Override
public View createTabContent(String tag)
{
if (myRootView == null)
{
// TODO: Create your view here by...
// 1) Constructing it yourself
// 2) Inflating a layout.xml with LayoutInflater (better)
myRootView = new View(context);
}
return myRootView;
}
}
Jeśli chodzi o programowanie zmian zakładek, jest to tak proste, jak wywoływanie setCurrentTab () na twoim obiekcie TabHost.