0

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>

簡単にするために、同じタイプのビューを持つ他の行をいくつか削除しました。

4

2 に答える 2

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 に答える
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 に答える