如何更新tablerow textview?

时间:2013-11-05 12:11:33

标签: android dynamic row android-tablelayout

我有这个动态的tablelayout:

 <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="horizontal" >

                    <TableLayout
                        android:id="@+id/main_table"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_margin="2dip"
                        android:layout_weight="1"
                        android:stretchColumns="1" >
                    </TableLayout>
                </LinearLayout>

和代码:

tl = (TableLayout) findViewById(R.id.main_table);
...
// Create 5 columns to add as table data
            TextView labelid = new TextView(this);
            labelid.setId(count);
            labelid.setTextSize(20);
            labelid.setPadding(10, 10, 10, 10);
            labelid.setGravity(Gravity.CENTER);
            labelid.setText(readxml.getID() + " ");
            labelid.setTextColor(Color.BLACK);
            tr.addView(labelid);

            // Create 5 columns to add as table data
            TextView labelname = new TextView(this);
            labelname.setId(count);
            labelname.setTextSize(20);
            labelname.setPadding(10, 10, 10, 10);
            labelname.setGravity(Gravity.CENTER);
            labelname.setText(readxml.getName() + " ");
            labelname.setTextColor(Color.BLACK);
            tr.addView(labelname);

那么,如何更新1行文​​本视图文本?

2 个答案:

答案 0 :(得分:0)

我建议你使用GridView,如果它适合你的问题,否则你可以检查this answer,这是你需要的。

答案 1 :(得分:0)

将标签设置为TextView以将其重新调用

例如

//label tag
labelid.setTag("labelid"+count);
//text tag
labelname.setTag("labelname"+count);

并按位置调用labelid或labelname

//for example get first element added values

    int myid = 0;
    TextView labelid_text = (TextView) tl.findViewWithTag("labelid"+myid);
    TextView labelname_text = (TextView) tl.findViewWithTag("labelname"+myid);