0

J'essaie de faire un jour-calendrier et pour cela j'utilise un tablelayout et je veux ensuite définir une ligne personnalisée (mise en page xml) contenant TextViews pour pouvoir accéder aux données ici est et exemple de mon mise en page de la table: (. via la logique commutateur)Android TableLayout CustomRow

<TableLayout 
    android:id="@+id/appointmentListView" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<TableRow 
    android:id="@+id/tableRow1"> 
    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     > 

     <TextView 
      android:id="@+id/unitNul" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="00:00"/> 

     <CustomRow><\CustomRow> //this is where I imagined I would have to put my custom element 

    </LinearLayout> 


</TableRow> 

Je procéderait alors à mettre en rendez-vous en fonction de leur temps de la journée dans les lignes correctes

Mes questions sont les suivantes: Comment puis-je ajouter une mesure élément à chaque tablerow? Est-ce la meilleure façon de le faire? Note: J'ai essayé de faire un élément de vue personnalisé, mais cela semble être un peu trop difficile à gérer. (Ce qui est également une option si vous connaissez un bon guide expliquant cela) je l'ai déjà essayé: http://developer.android.com/guide/topics/ui/custom-components.html

+0

A/utilisation de liste B/si la quantité d'éléments est dynamique, vous ne pouvez pas utiliser xml. utiliser java et addView – njzk2

+0

le problème que je suis confronté à l'aide d'un listview est que je dois avoir une vue texte pour représenter l'heure du jour sur le côté gauche et mes valeurs de classe sur la droite, ce qui signifie que je dois être en mesure de spécifier élément spécifique doit aller. C'est à dire. 12h15 doit aller à la ligne où le textview dit 12h15 et ainsi de suite. (J'ai vraiment besoin d'élargir mon article sur plusieurs lignes, mais un problème à la fois) – Ken

Répondre

2

créer un fichier XML comme celui-ci ::

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout 
      android:id="@+id/tablerows" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:background="@android:color/white" 
      android:stretchColumns="0,1" > 
     </TableLayout> 

    </LinearLayout> 

</LinearLayout> 

alors en classe activité ajouter dynamiquement des lignes et l'autre vues comme ceci ;;

TableRow row; 
    TextView t1, t2; 
    int dip = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,(float) 1,    getResources().getDisplayMetrics()); 
    row = new TableRow(context); 
    row.setLayoutParams(new android.widget.TableRow.LayoutParams(android.widget.TableRow.LayoutParams.FILL_PARENT, 
       android.widget.TableRow.LayoutParams.WRAP_CONTENT)); 
t1 = new TextView(context); 
t1.setTypeface(null, 1); 
t1.setTextSize(15); 
t1.setWidth(50 * dip); 
t1.setPadding(20*dip, 0, 0, 0); 
row.addView(t1); 

puis dans ur la table (ici "myTable") ajouter la ligne comme celui-ci ::

myTable.addView(row, new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
+0

Merci c'est définitivement ce que je cherche :-D – Ken

+0

toujours les bienvenus :-) – mainu