将View添加到现有表行

时间:2012-10-22 07:14:08

标签: android

我正在尝试将图像添加到xml布局中的现有表格行中。但是有一些错误,有NullPointerException。您可以告诉我将任何视图添加到xml中现有行的方法。日Thnx

    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>

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

2 个答案:

答案 0 :(得分:0)

试试这个

 TableRow row = (TableRow) findViewById(R.id.tblHips);
        ImageView imageView = new ImageView(this);
        imageView.setImageResource(R.drawable.ic_launcher);
        row.addView(imageView);

答案 1 :(得分: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);