考虑一个TextView,如何使用条件或一些逻辑检测的TextView的家长吗?
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
TextView text=new TextView(Context);
}
回答问题按我的理解:
如果要添加和删除控制了很多遍才能得到视图的父母,你可以使用你的情况parent属性:
text.Parent;
请注意,这将是无效的,如果没有父母。
因此,以任何方式使用此之前家长,我建议你空检查。
if(text.Parent!=null)
ViewGroup parent = (ViewGroup) textView.getParent();
如果parent为null,则不会被添加到括号。
您可以使用text.Parent
检测视图作为父母,所以代码是这样的:
TextView text = new TextView(this);
text.Text = "Text";
IViewParent layout = text.Parent;
if (layout == layout2) //To detect whether it is added to parent or not.
{
text.Text = "I am added to layout2";
Console.WriteLine("layout2 is the parent of text");
}
else {
layout2.AddView(text);
}