我有一些xml布局文件。这是我的xml布局源代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RelativeLayout
android:id="@+id/rot"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="#ff0000" >
<ImageView
android:id="@+id/btn_categorry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="12dp"
android:background="@drawable/ic_launcher" />
</RelativeLayout>
我尝试以编程方式添加新的RelativeLayout,而不是我的'rot&#39; layout.i写了一些代码,但我无法添加新的布局,这是我的源代码
img.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
RelativeLayout.LayoutParams parms = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.FILL_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
final RelativeLayout ll = new RelativeLayout(
getApplicationContext());
Button add_btn = new Button(getApplicationContext());
add_btn.setText("Click to add TextViiews and EditTexts");
ll.addView(add_btn);
parms.addRule(RelativeLayout.BELOW, R.id.rot);
ll.setLayoutParams(parms);
}
});
正如我所说,我无法添加布局。我做错了什么?如果有人知道解决方案,请帮助我 感谢
答案 0 :(得分:1)
您没有将布局添加到根视图中。拨打:
((ViewGroup)findViewById(R.id.rot)).addView(ll);
答案 1 :(得分:0)
这一行之后:
ll.setLayoutParams(parms);
添加了此代码:
RelativeLayout root = (RelativeLayout).findViewById(R.id.rot);
root.addView(ll);
答案 2 :(得分:0)
创建主要相对布局的对象。
RelativeLayout main = (RelativeLayout)findViewById(R.id.mainRelativeLayout);
main.addView(ll);
在ll.setLayoutParams(parms);
之后添加上面的代码