可以findViewById()替代

时间:2013-09-19 08:33:34

标签: android view

我需要从views返回指定ID的所有activity。我是否必须遍历View树,或者是否有任何内置函数可以返回所有具有指定ID的views

1 个答案:

答案 0 :(得分:0)

如果要检索View,则需要使用android:id属性为其分配唯一ID。如果不这样做,那么你将需要一个更繁琐的替代方法,例如解析视图树。

来自Layouts | Android Developers的说明:

  

<强> ID

     

任何View对象都可以具有与之关联的整数ID,以便唯一   识别树中的视图。编译应用程序时   此ID以整数形式引用,但通常会分配ID   在布局XML文件中作为字符串,在id属性中。这是个   所有View对象共有的XML属性(由View类定义)   你会经常使用它。 XML中的ID语法   标签是:

android:id="@+id/my_button"

与您的相关性也应该是同一页面的引用:

  

ID在整个树中不一定是唯一的,但它在您正在搜索的树的部分内应该是唯一的(通常可能是整个树,因此最好在可能的情况下完全唯一)。

因此,要查找您的视图,您应该使用findViewByID(),而不必查看视图树。有关如何执行此操作的示例,我建议您使用Grokking Android's Finding all View-IDs of an Android UI