2015-07-20 1 views
0

Ci-dessous un code MainActivityscrollview dans Android en utilisant la mise en page Inflater

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.layout_show); 

     tableLayout = (TableLayout) findViewById(R.id.tableLayout); 
     tableLayout.setVerticalScrollBarEnabled(true); 
     for (Integer j = 0; j < count; j++) { 
      //Rows will add till condition is true 
     } 
    } 

fichier XML: layout_show

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/tableLayout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:paddingBottom="@dimen/activity_vertical_margin" 
     android:paddingLeft="@dimen/activity_horizontal_margin" 
     android:paddingRight="@dimen/activity_horizontal_margin" 
     android:paddingTop="@dimen/activity_vertical_margin" >It has eight headers for eight columns in it 

</TableLayout> 

XML à table_item.xml défiler

<?xml version="1.0" encoding="utf-8"?> 

    <TableRow 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/table1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginTop="2dp" 
     android:layout_alignParentRight="true" 
     android:background="@color/LightPink">---Columns defined here---- 
    </TableRow> 

Tout fonctionne très bien

  1. Les données d'une seule ligne dans différentes colonnes proviennent de différentes sources.

  2. L'utilisation de ScrollView dans table_item.xm l ne fonctionne pas mais perturbe l'alignement des colonnes d'en-tête et d'élément.

Le résultat à atteindre est:

  1. Gardez l'en-tête, mais faire défiler les lignes gonflées de la table_item.xml

espoir que je reçois des indices ...

Merci pour le temps

+0

Je n'ai pas compris quel est le problème exact ici. Pouvez-vous s'il vous plaît énoncer votre question clairement? – Vesko

+0

Merci pour la réponse Vesko .. Lorsque le compte de la boucle for va au-delà de 12 les autres lignes ajoutées après 12, ne peut pas être vu sauf si l'écran est plus grand, donc le défilement vers le haut (vertical) est nécessaire; mais je ne suis pas capable d'atteindre les résultats souhaités. –

Répondre

0

TableLayout n'est pas un scrol le récipient que vous décrivez est normal. La solution la plus simple pour vous serait d'envelopper le TableLayout avec un ScrollView. Vous pouvez le faire dans votre fichier layout_show.xml.

+0

Merci Vesko essayé que ScrollView à la fois par programme et en XML séparément et ensemble, mais ne fonctionnait pas. Après avoir essayé les autres moyens possibles, j'ai décidé d'écrire la classe adapter.java pour convertir la vue. Mais voudrais comme ça si le travail. De toute évidence, car il est plus facile –