0

我正在尝试将图像添加到 xml 布局中的现有表格行中。但是有什么问题,有 NullPointerException。你能告诉我如何将任何视图添加到 xml 中的现有行吗?谢谢

    TableLayout tbl= (TableLayout)findViewById(R.id.tableLayout1);
    TableRow row= (TableRow)findViewById(R.id.tblHips);
    ImageView image=(ImageView) findViewById(R.drawable.ic_launcher);
    //image.setImageResource()
    row.addView(image);
    tbl.addView(row);

这是我的布局-

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="top|center" >

    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >


        <TableRow
            android:id="@+id/tableRow5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/TextView02"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:text="Waist"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <EditText
                android:id="@+id/EditText02"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:inputType="numberDecimal" />

        </TableRow>

        <TableRow
            android:id="@+id/tblHips"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >


        </TableRow>


        <TableRow
            android:id="@+id/tableRow8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center" >

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="OK" />

        </TableRow>

    </TableLayout>

</RelativeLayout>

为了简单起见,我删除了其他一些具有相同类型视图的行。

4

2 回答 2

0

试试这个

 TableRow row = (TableRow) findViewById(R.id.tblHips);
        ImageView imageView = new ImageView(this);
        imageView.setImageResource(R.drawable.ic_launcher);
        row.addView(imageView);
于 2012-10-22T07:16:06.423 回答
0

我还没有尝试过,但它应该可以工作

TableLayout tbl= (TableLayout)findViewById(R.id.tableLayout1);
TableRow row= new  TableRow(getApplicationContext());

LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View inflated = inflater.inflate(R.layout.main, row);

ImageView image=(ImageView) findViewById(R.drawable.ic_launcher);
row.addView(image);

tbl.addView(row);
于 2012-10-22T07:35:23.667 回答