动态更改TableLayout中TableRow的内容

时间:2012-09-07 17:44:08

标签: android android-layout android-xml android-tablelayout

是否可以在TableLayout中动态更改TableRow的内容?

目前,我有一个简单的表格布局,如下所示:

    <TableLayout
        android:id="@+id/tableid"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center" >

        <TableRow>   
            <TextView
                android:id="@+id/tv1id"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="right"
                android:text="@string/tv1text" />

            <TextView
                android:id="@+id/tv2id"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="right"
                android:text="@string/tv2text" />   

        </TableRow>

        <!-- more TableRows ... -->

    </TableLayout>

我想要做的是用另一个视图动态更改第二列的TextView(在我的例子中是一个EditView)。原因是我希望表首先以只读模式显示数据,然后切换到可编辑状态,比如在用户按下“编辑”按钮之后。

这可能吗?感谢。

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。不过,这将是一种痛苦。您将不得不膨胀您的XML,然后,在收到交换到EditText的触发器后,您将找到要删除的视图的ID,并删除该视图。然后你将不得不创建一个新的EditText,给它一个id并创建一个类似于你要删除的View的新LayoutParams。然后将EditText添加到视图组。