繁体   English   中英

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

[英]Add a layout dynamically in a layout already added dynamically

我正在开发一个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);

但这是行不通的。 有人知道该怎么做吗? 提前致谢

您必须在要查看的视图上调用findviewbyid。假设这在您的活动中,只需调用findviewbyid本身,就会在setContentView中设置的活动布局中查找。 调用findViewById时,您将要引用特定的“ myLayout”。

例如ViewGroup myLayout2 = (ViewGroup) myLayout.findViewById(R.id.maincontainer); 这将在为myLayout2放大的任何xml文件中搜索正确的ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM