我有以下的axml。
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="360dp"
android:id="@+id/viewA">
<View
android:layout_width="wrap_content"
android:layout_height="360dp"
android:id="@+id/viewB" />
</LinearLayout>
我想以编程方式在ViewB
上添加一个按钮。我无法弄清楚,因为View
没有addView
方法。
答案 0 :(得分:2)
使用FrameLayout而不是View。 View没有孩子。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/viewA"
android:layout_width="wrap_content"
android:layout_height="360dp">
<FrameLayout
android:id="@+id/viewB"
android:layout_width="wrap_content"
android:layout_height="360dp" />
</LinearLayout>
只需添加代码:
Button button = new Button(this);
button.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT));
FrameLayout group = (FrameLayout) findViewById(R.id.viewB);
group.addView(button);