Динамическое добавление столбцов в строку таблицы. Добавление текстовых представлений в цикле. settext не работает

У меня есть макет таблицы с 9 строками. первый - для заголовка. но количество столбцов меняется. поэтому мне нужно динамически добавлять текстовое представление в строку таблицы. Я раздуваю строку таблицы и добавляю текст для первого столбца, который исправлен. другие ответы я пытаюсь добавить в цикл. но я получаю только первую ячейку.

мой ожидаемый результат выглядит следующим образом:

col#   A   B   C   D  E  F
----------------------------
1      65  6   6   5  6  7
----------------------------
2      6  4   7   4  6  8

количество столбцов не может быть от 3 до 6. но строка равна 8

я получаю результат примерно так:

 col#   
    ----------------------------
    1   
    ----------------------------
    2   

я пытаюсь отобразить первую строку. но я получаю только первую ячейку. кто-нибудь может помочь?

мой xml со строкой таблицы

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

  <TableRow xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
        <TextView android:id="@+id/sn4"
                    android:textSize="25sp"
                    android:layout_marginTop="15dip"
                    android:layout_marginLeft="20dip"
                    style="@style/normalText"
                    android:textColor="@color/title"
             />



</TableRow>

у меня есть другой xml для текстового представления

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


    <TextView   xmlns:android="http://schemas.android.com/apk/res/android" 
                android:id="@+id/txtfactor"
                android:textSize="25sp"
                android:layout_marginTop="15dip"
                android:layout_marginLeft="20dip"
                style="@style/normalText"
                android:textColor="@color/title"
         />

в моем коде:

tbl = (TableLayout) findViewById (R.id.tbltrail); for (int i = 0; i <= noOfTrials; i ++) { TableRow child = (TableRow) getLayoutInflater (). Inflate (R.layout.trial_table, null); child.setId (я); TextView sno = (TextView) child.findViewById (R.id.sn4); if (i == 0) { sno.setText ("Col #");

            for(int j=0; j<count; j++){
                FactorObj factorObj = factorList.get(i);
                View row = (View) getLayoutInflater().inflate(R.layout.trial_row_content, null);
                TextView factorname = (TextView)row.findViewById(R.id.txtfactor);
                factorname.setId(200+j);
                Log.v(null, "factor name "+factorObj.getFactorName());
                factorname.setText("sdf");
                child.addView(row);



            }
            tbl.addView(child);


        }else{
            sno.setText(String.valueOf(i));
            for(int j=0; j<count; j++){
                FactorObj factorObj = factorList.get(i);
                View row = (View) 

                getLayoutInflater().inflate(R.layout.trial_row_content, null);
                TextView factorname = (TextView)row.findViewById(R.id.txtfactor);
                factorname.setId(100+j);
                factorname.setText("ss");
                child.addView(row);


            }
            tbl.addView(child);
        }

    }
0
задан Arul T 12 January 2012 в 10:49
поделиться