无法动态地向TableRow添加View

时间:2015-06-21 19:58:40

标签: android eclipse tablerow

我拼命想要将ImageView添加到TableRow,但不知何故我不能。我可以在TableLayout中添加一个新的TableRow,但是对于Row我不能添加任何东西。 我已经尝试使行无效,或者我插入的视图无效,但没有区别。

代码:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    final View rootView = inflater.inflate(R.layout.page2,
            container, false);
    Button soundBtn = (Button) rootView.findViewById(R.id.p2b1);
    soundBtn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            LayoutInflater inflater = activity.getLayoutInflater();
            TableRow row = (TableRow)inflater.inflate(R.layout.page2, null).findViewById(R.id.p2row9);
            View child = (View)inflater.inflate(R.layout.dummyview, null);
            row.addView(child, 0);
        }
    });
}

,XML是:

<TableLayout 
    android:id="@+id/p2table"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:stretchColumns="1" >
    <TableRow
        android:id="@+id/p2row9"
        android:layout_width="wrap_content"
        android:layout_height="200dip"
        android:paddingTop="10dip">
    </TableRow>
</TableLayout>

我的虚拟视图是:

<?xml version="1.0" encoding="utf-8"?>
        <View xmlns:android="http://schemas.android.com/apk/res/android"

            android:layout_width="0dp"
            android:layout_weight="0.3"
            android:layout_height="1dp"
            android:gravity="center"
            android:background="@color/textbody" />

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

在回调onClick中,您不必第二次夸大您的布局。

TableRow row = (TableRow) inflater.inflate(R.layout.page2, null).findViewById(R.id.p2row9);

相反,请使用根视图直接查找TableRow

TableRow row = (TableRow) rootView.findViewById(R.id.p2row9);