如何将视图检测为父视图

时间:2019-02-06 11:07:20

标签: xamarin xamarin.android

考虑一个textView,如何使用条件或某些逻辑检测textView的父级?

protected override void OnCreate(Bundle bundle)
{
    base.OnCreate(bundle);
    SetContentView(Resource.Layout.Main);
    TextView text=new TextView(Context);

}

3 个答案:

答案 0 :(得分:1)

根据我的理解回答问题:

如果要多次添加和删除控件以获取View的父级,则可以在您的情况下使用parent属性:

text.Parent;

请注意,如果没有父母,则该字段将为null。

因此,在以任何方式使用此父级之前,我建议您对它进行空检查。

if(text.Parent!=null)

答案 1 :(得分:0)

ViewGroup parent = (ViewGroup) textView.getParent();

如果parent为null,则不会将其添加到括号中。

答案 2 :(得分:0)

您可以使用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);
    }