【问题标题】:How can i make use of views defined in layout XML file as template to create views programmatic way如何使用布局 XML 文件中定义的视图作为模板以编程方式创建视图
【发布时间】:2010-02-28 06:26:26
【问题描述】:

我想通过编程方式填充在布局 xml 文件中定义的表。我已经定义了表,其中一行定义了它的标题,并设置了所有属性。现在我想知道一种方法,以便我可以用新内容复制表中的标题行。

我尝试使用 inflator inflate(int,view) 方法,但在运行时出现错误。

这是定义表格的布局文件的 XML 代码

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:stretchColumns="0,1,2"
 android:id="@+id/tLayout"
 > 
 <TableRow
  android:layout_width="fill_parent"
  android:id="@+id/tRow">
  <TextView
   android:id="@+id/name"
   android:padding="3dip"
   android:gravity="left"
   android:text="Name"
   />
  <TextView
   android:id="@+id/address"
   android:padding="3dip"
   android:gravity="left"
   android:text="Address"
   />
  <TextView
   android:id="@+id/age"
   android:padding="3dip"
   android:gravity="left"
   android:text="Age"
   />
 </TableRow>
</TableLayout>

【问题讨论】:

    标签: android android-widget


    【解决方案1】:

    第 1 步:将该行拉出到单独的布局文件中

    第 2 步:在需要行时扩充该布局文件

    第 3 步:在 TableLayout 上调用 addView() 以添加膨胀行

    【讨论】:

    • 它成功了。我曾尝试使用相同的步骤,但我认为我对充气部分有误。我尝试膨胀上述 XML 文件的子视图(TableRow),这一定是它失败的原因。但现在我猜膨胀的东西适用于整个布局 XML 文件而不是它的一部分。我想知道这种功能的原因是什么..
    猜你喜欢
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 2018-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多