J'ai une activité qui a une Scrollview comme élément de premier niveau. A l'intérieur, il y a d'autres vues et à un moment donné il y a un TabHost. Vous pourriez obtenir une meilleure impression en regardant the screenshot. Le TabHost a trois onglets, chacun avec une autre activité qui est lancée par une intention.TabHost à l'intérieur d'un Scrollview: défile toujours vers le bas quand un onglet est cliqué
Tout fonctionne bien, sauf une chose. Chaque fois que je clique sur un onglet, le Scrollview défile automatiquement comme vous pouvez le voir over here. Le TabHost est hors de l'écran après. Je ne veux tout simplement pas le faire défiler, mais je ne vois pas quel est le problème. J'ai testé sur un appareil 1.5 et 1.6 et un émulateur 2.0 avec les mêmes résultats.
Le xml de mon TabHost ressemble à ceci:
<TabHost
android:id="@+id/tabhost"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</FrameLayout>
</LinearLayout>
</TabHost>
Et ceci est le code pour ajouter un onglet:
private void addTab(int descriptionRes, Class<?> destination, int flags) {
String description = getString(descriptionRes);
TabSpec spec = mTabHost.newTabSpec(description);
spec.setIndicator(description);
Intent i = new Intent(this, destination);
i.setData(Uri.parse(member.getId())).setFlags(flags);
spec.setContent(i);
mTabHost.addTab(spec);
}
Toutes les suggestions?
Ceci est une vieille question, mais toute personne aux prises avec un problème similaire pourrait essayer la solution ici: http://stackoverflow.com/a/10442368/56285 – Jonik