Java或C#答案很好(我们使用MonoDroid)
我使用:
成功地将控件添加到LinearLayout LayoutInflater _inflatorservice = (LayoutInflater)this.GetSystemService(Context.LayoutInflaterService);
var viewContainer = _inflatorservice.Inflate(Resource.Layout.ReportItImageButton, myLinearLayout);
如何获得刚添加的视图的引用?我以这种方式添加了许多相同的控件,因此需要将第n个项添加到布局中。
答案 0 :(得分:3)
这是有效的,它会在项目类型为Button
的情况下添加最新项目。
LayoutInflater _inflatorservice = (LayoutInflater)this.GetSystemService(
Context.LayoutInflaterService);
var layout = _inflatorservice.Inflate(
Resource.Layout.ReportItImageButton, layoutImages) as LinearLayout;
if (layout != null)
{
var b = layout.GetChildAt(layout.ChildCount - 1) as Button;
if (b != null)
{
}
}
答案 1 :(得分:1)
还有一个参数。 没有将您的虚增视图添加到myLinearLayout
,但仍会返回其View
对象。
var viewObj = _inflatorservice.Inflate(
Resource.Layout.ReportItImageButton, myLinearLayout, false);
请注意,例如,如果您添加了LinearLayout
,那么您将获得LinearLayout
。此方法返回XML布局的根视图,因此它可以是任何类型的View
。
答案 2 :(得分:1)
View v = myLinearLayout.findViewById(R.id.myViewId)
myViewId应与ReportItImageButton.xml文件中指定的id相同