2012-02-07 57 views
0

是否有可能找到ID的看法,如果它是一个:按ID查找<include>视图?

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <include 
     android:id="@+id/foo" 
     layout="@layout/test" /> 

    ... 

View view = findViewById(R.id.foo); 

什么在这种情况下是“说法”?这是一种观点吗?它是否解析为“布局/测试”的顶级元素?

由于

回答

1

你基本上覆盖了你的包含布局中的顶级父视图的ID,所以你会得到的是整个布局的顶视图和它的内容。实际上,<include>标签是所包含布局的复制和粘贴。您可以覆盖id标记和layout_的任何属性。

+0

返回的视图应该与View.setVisibility()一起工作吗?现在调试这个,但似乎有一次我找到ViewById()。调用view.setVisibility(View.GONE)不起作用? – user291701 2012-02-07 21:35:28

+0

我从来没有尝试过,但我认为它应该工作。每次使用标签时,我都可以在大多数情况下正常使用它。然而,'visible'属性不是可以在xml中覆盖的属性之一,所以在这种情况下可能不允许。 – DeeV 2012-02-07 21:37:50

+0

是的,您可以更改通过'include'引入的视图的可见性。 – 2012-02-07 22:18:19

0

foo将是test布局的根元素(ViewGroupView)的id。如果id已被定义为test布局foo将覆盖它。