如何检测一个视图父

问题描述 投票:0回答:3

考虑一个TextView,如何使用条件或一些逻辑检测的TextView的家长吗?

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

}
xamarin xamarin.android
3个回答
1
投票

回答问题按我的理解:

如果要添加和删除控制了很多遍才能得到视图的父母,你可以使用你的情况parent属性:

text.Parent;

请注意,这将是无效的,如果没有父母。

因此,以任何方式使用此之前家长,我建议你空检查。

if(text.Parent!=null)

0
投票
ViewGroup parent = (ViewGroup) textView.getParent();

如果parent为null,则不会被添加到括号。


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);
    }
© www.soinside.com 2019 - 2024. All rights reserved.