2012-04-05 1 views
3

Dans mon application Android, il y a un écran avec des données à afficher sous forme de tableau. Cette table aura environ 5 colonnes et au moins 50 lignes.Tableau dans Android

Comment puis-je créer une table dans Android?

J'ai cherché à travers et tout le monde semble recommander d'utiliser TableLayout et textView pour chaque cellule. Utiliser cette technique semble être un peu difficile car il y a beaucoup de composants TextView.

Y a-t-il une autre solution à cela?

+0

Voulez-vous faire du code à travers? ou par XML? – Dhruvisha

+0

tout va bien. – Nini

Répondre

0

Utilisez ListView avec adaptateur personnalisé, créez cinq TextView dans son élément listview sous forme de colonnes .. créer listitem comme celui-ci row.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"/> 
    <TextView android:text="TextView" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content"/> 
    <TextView android:text="TextView" android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content"/> 
    <TextView android:text="TextView" android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content"/> 
    <TextView android:text="TextView" android:id="@+id/textView5" android:layout_width="wrap_content" android:layout_height="wrap_content"/> 
</LinearLayout> 
0

Ce ne est pas nécessaire à l'utilisateur TableLayout.

vous pouvez utilisateur personnalisée ListView et en-tête ensemble de ListView comme nom de colonne

Pour créer listview personnalisé voir ce example

+0

Merci pour la réponse. Va le vérifier. Y at-il quelque chose comme Swing JTable? – Nini

3
TableLayout lTableLayout; 
lTableLayout = (TableLayout)findViewById(R.id.tblayout); 
for(int i=0;i<10;i++){ 
TableRow tr1 = new TableRow(this); 
tr1.setPadding(0, 5, 0, 0); 
lTableLayout.addView(tr1, LayoutParams.WRAP_CONTENT, 
         LayoutParams.WRAP_CONTENT); 
TextView tv11 = new TextView(this); 
tv11.setPadding(2, 0, 0, 0); 
tv11.setTextSize(12); 
tr1.addView(tv11,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); // Can give width and height in numbers also. 

} 

Ces va créer 10 lignes et 1 textview dans chaque rangée dans le tableau pris disposition. prendre une disposition de table dans votre fichier XML comme ci-dessous:

<TableLayout 
        android:id="@+id/tblayout" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" > 
</TableLayout> 
+0

Merci pour votre réponse. J'ai été capable de créer en utilisant ce qui précède. Mais je voudrais savoir comment appliquer un style particulier à la ligne Row, vue du texte dans ce cas. Le style est défini dans le fichier styles.xml. – Nini

+0

http://stackoverflow.com/questions/2016249/how-to-programmatically-setting-style-attribute-in-a-view Cela vous aidera. – Dhruvisha

+0

Arrière-plan et texte La couleur n'est pas un problème. Mais la largeur de la textview n'est pas définie lorsque nous prenons les attributs du style ou que nous agrandissons la vue du texte. Je voudrais savoir pourquoi la largeur seule ne marche pas. – Nini