【问题标题】:should every View have an id?每个视图都应该有一个ID吗?
【发布时间】:2017-10-19 20:14:25
【问题描述】:

我想知道在 Android 中处理视图 ID 的两种可能方法:

  1. 自动为您创建的每个视图分配一个 ID
  2. 仅在需要时分配 ID

我可以想到这两种方法的一些优缺点(第一种选择更多),但我想知道我是否正确。

编辑:我知道您不必为视图分配 ID,我想知道我是否应该(为了未来的发展)

【问题讨论】:

  • 不,不是每个视图都需要一个 id。当您需要修改视图的属性并找到带有 id 的视图时,您可以向视图添加 id。您还可以根据需要以编程方式或在运行时从任何其他视图或布局中添加或删除这些视图。如果您不需要该视图,请不要添加 id,并且为每个视图添加 id 很麻烦且不需要。

标签: android android-view android-identifiers


【解决方案1】:

这完全取决于您,因为它不一定对效率有任何特殊影响,具体取决于您如何自动添加 ID。我的方法是仅在需要时分配 ID。原因是您只需要 ID 来引用其控制器中的视图或组件,或者如果您使用 RelativeLayout 并根据其他组件放置其他视图/组件。否则,它是没有真正被使用的无关代码。

【讨论】:

    【解决方案2】:

    您不需要为每个 View 分配 ID。仅当您想要从 Java 代码中引用视图时才分配 ID,例如您在 XML 中有一个 TextView 并且您想在运行时将其文本更改为其他内容,那么您必须使用 id 来引用使用方法findViewById()

    在 android 中也有标签,不仅是 ID,而且当您想以编程方式创建 Views 时,主要使用标签,它们可以是字符串,而不是像 ID 这样的 Integers。

    【讨论】:

      【解决方案3】:

      不,只有当您想将 xml 视图转换为 java 对象并在 java 代码中使用该对象时,您才需要每个视图的 ID

      【讨论】:

        猜你喜欢
        • 2011-01-14
        • 2010-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-05
        • 2010-09-26
        相关资源
        最近更新 更多