我尝试用点解释我的问题。
我试过这个: - `
LayoutInflater layoutInflater;
View inflatedView;
linear_layout=(LinearLayout)findViewById(R.id.linear_layout);//in xml_1
layoutInflater=getLayoutInflater();
inflatedView = layoutInflater.inflate(R.layout.xml_2, linear_layout, false);
linear_layout.addView(inflatedView);
问题是xml_2在xml_1的linear_layout上膨胀,但是xml_1的linear_layout中已经存在的按钮没有被删除,而是在xml_1的linear_layout按钮右边添加了xml_2。
谢谢
答案 0 :(得分:0)
如果要替换linear_layout的内容,请在充气后执行此操作:
linear_layout.removeAllViews();
然后您可以为其添加新视图。
答案 1 :(得分:0)
您的问题可能是因为您从xml_1为LinearLayout设置了方向。正如你所说,
而是在xml_1的linear_layout按钮右侧添加了xml_2。
这可能是因为您的LinearLayout有android:orientation="horizontal"
,所以当您addView
时,它会根据您的方向添加。
如果要在xml_1中添加xml_2并且xml_2位于xml_1中的按钮下,请在其中包含另一个LinearLayout:
<!--Inflate your views and put them inside this one-->
<LinearLayout
android:width="match_parent"
android:height="wrap_content
android:orientation="vertical">
<LinearLayout
android:width="match_parent"
android:height="wrap_content
android:orientation="horizontal">
</LinearLayout>
</LinearLayout>
这样,你的xml_2将在你已经在LinearLayout中拥有的视图之下。
我不确定这是你想要的,如果它是其他的东西,请进一步评论。