2010-01-06 4 views
2

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?

+0

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

Répondre

0

Vous pouvez essayer de régler la Activityà l'intérieur la TabHost comme scrollable, plutôt que le haut niveau Activity lui-même.

Questions connexes