在已动态添加的布局中动态添加布局

时间:2015-09-01 02:17:39

标签: java android xml android-layout layout

我正在开发一个Android项目,我正在尝试动态添加另一个布局。事情是父动态布局也是动态添加的......

目的是能够使用我可以多次膨胀的布局模板,并在其中添加另一个布局(也从xml文件中膨胀)。

在主视图中,我正在添加我的父布局:

ViewGroup myLayout= (ViewGroup) findViewById(R.id.scrollcontentcontainer);
View layout = getLayoutInflater().inflate(R.layout.relative, myLayout, false);
myLayout.addView(layout);

我父母的一个布局有一个id“maincontainer”,我想在其中添加另一个布局。作为他的父母,它是我正在使用的xml模板。

 ViewGroup myLayout2= (ViewGroup) findViewById(R.id.maincontainer);
 View layout2 = getLayoutInflater().inflate(R.layout.somelayout, myLayout2, false);
 myLayout2.addView(layout2);

但这不起作用。 有人知道怎么做吗?提前致谢

1 个答案:

答案 0 :(得分:0)

你必须在你正在查看的视图上调用findviewbyid。假设这是你的一个活动,只需调用findviewbyid本身就可以查看setContentView中活动的布局集。当你调用findViewById时,你想要引用特定的“myLayout”。

e.g。 ViewGroup myLayout2 = (ViewGroup) myLayout.findViewById(R.id.maincontainer);这将在为myLayout2充气的任何xml文件中搜索正确的ID。