Autore Topic: tablelayout dinamico  (Letto 1055 volte)

Offline psicomant

  • Utente junior
  • **
  • Post: 95
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    OSX 10.6.5
tablelayout dinamico
« il: 19 Dicembre 2010, 18:07:46 CET »
0
Salve a tutti.
Ho un problema nell'aggiunta dinamica di righe e colonne ad un tablelayout.
Per ora faccio cosi:
Codice (Java): [Seleziona]
        private void writeStatus(){
                TableLayout tl = (TableLayout)findViewById(R.id.tab3layout);
                TextView tv = (TextView)findViewById(R.id.status);
                tl.setColumnStretchable(1, false);
        StringBuilder b = new StringBuilder();
               
                db.open();
                        Cursor c = db.getAllEnabledSensors();
                if(c.moveToFirst()){
                        tv.setText("Sensors actually enabled:\n"+c.getCount());
                        do{
                                //b.append("\t"+c.getString(1)+" with a sensing frequency of " + c.getInt(2) + "ms\n");
                               
                                TableRow tr = new TableRow(this);
                       tr.setLayoutParams(new LayoutParams(
                                      LayoutParams.FILL_PARENT,
                                      LayoutParams.WRAP_CONTENT));
                       
                       TextView txt1 = new TextView(this);
                       txt1.setLayoutParams(new LayoutParams(
                                      LayoutParams.FILL_PARENT,
                                      LayoutParams.WRAP_CONTENT));
                     
                       TextView txt2 = new TextView(this);
                       txt2.setLayoutParams(new LayoutParams(
                           LayoutParams.FILL_PARENT,
                           LayoutParams.WRAP_CONTENT));
                 
                       txt1.setText(c.getString(1));
                       txt2.setText("with a sensing frequency of " + c.getInt(2) + "ms\n");
                       tr.addView(txt1);
                       tr.addView(txt2);
                       tl.addView(tr,new TableLayout.LayoutParams(
                               LayoutParams.FILL_PARENT,
                               LayoutParams.WRAP_CONTENT
                               ));
                        }while(c.moveToNext());
                } else {
                        b.append("No sensors actually enable!\n");
                }
                c.close();
                db.close();
        }

e il mio file XML e':
Codice (XML): [Seleziona]
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/tab3layout"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
        android:background="#999999">        

        <TableRow
         android:layout_width="fill_parent"
         android:layout_height="wrap_content">
         
          <TextView android:id="@+id/status" android:layout_width="fill_parent" android:textColor="#0000FF"
         android:layout_height="wrap_content" android:textStyle="bold" android:textSize="18px"/>
     </TableRow>
</TableLayout>

Ma pur essendoci delle righe da visualizzare, non mi mostra niente.  :'(

Offline menion83

  • Nuovo arrivato
  • *
  • Post: 45
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Motorola Milestone - Samsung Galaxy Tab - Samsung Galaxy S - LG Optimus One - HTC Dream
  • Sistema operativo:
    Windows 7 Ultimate 32/64 - Ubuntu 10.10
Re:tablelayout dinamico
« Risposta #1 il: 15 Gennaio 2011, 16:05:35 CET »
0
Ciao!
Volevo sapere se hai risolto l'aggiunta dinamica.
« Ultima modifica: 15 Gennaio 2011, 16:15:20 CET da menion83 »

Offline AnderAndroid

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Ideos
  • Sistema operativo:
    2.2 Froyo
Re:tablelayout dinamico
« Risposta #2 il: 20 Gennaio 2011, 17:34:28 CET »
0
Ciao! Dunque avevo il tuo stesso problema.
Seguendo questo tutorial son riuscito a risolverlo, spero ti sia di aiuto anche a te.
http://huuah.com/using-tablelayout-on-android/
Guarda nella sezione "Appending rows dynamically".

Lui fa come facevi tu, mettendo <TableRow>, io invece non la metto e va cmq bene..
Io nel mio file xml ho solo messo questo..
Codice (XML): [Seleziona]
  <TableLayout
   android:layout_x="2dip"
   android:id="@+id/TableLayout01"
   android:layout_height="wrap_content"
   android:layout_width="wrap_content"
   android:layout_y="53dip">
   
    </TableLayout>

Spero di esserti stato utile
AnderAndroid