【问题标题】:What is id used for? [duplicate]id是干什么用的? [复制]
【发布时间】:2015-08-18 14:11:45
【问题描述】:
<TextView
  android:id="@+id/button01"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:text="Sample"
  />

在这段代码中, 是什么

android:id="@+id/button01

是什么意思? 我们什么时候使用这个 id?

【问题讨论】:

  • id 用于将该小部件引用到您的 java 文件并从 java 文件访问它。
  • 布局项的唯一ID。您可以使用此 ID 访问此项目。它的工作方式与 ID 无处不在。
  • 它的用法和我们在Script中使用html元素id的用法一样。它唯一地标识元素..
  • 如果你想在你的活动中使用那个文本视图,你必须通过获取文本视图对象来获取它,并且使用 findviewbyid 方法可以让你访问那个文本视图

标签: java android


【解决方案1】:

正如Documentation中所说的

身份证

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

android:id="@+id/my_button"

字符串开头的 at 符号 (@) 表示 XML 解析器应该解析和扩展 ID 字符串的其余部分,并且 将其标识为 ID 资源。加号 (+) 表示这是 必须创建并添加到我们的资源中的新资源名称 (在 R.java 文件中)。还有许多其他 ID 资源 由 Android 框架提供。

同一文档中的示例:

<Button android:id="@+id/my_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/my_button_text"/>

现在您可以使用

唯一标识此按钮
Button myButton = (Button) findViewById(R.id.my_button);

【讨论】:

    【解决方案2】:
    <TextView
        android:id="@+id/button01"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="Sample"
    />
    

    这意味着TextView 有一个唯一的ID:button01,可用于在应用程序中访问它。要访问它,我们使用:

    TextView text = (TextView) findViewById(R.id.button01);
    

    然后可以对此View执行操作,例如

    text.setText("hello");
    

    【讨论】:

      【解决方案3】:

      在 XML 中定义的唯一资源 ID。使用您在元素中提供的名称,Android 开发人员工具会在您项目的 R.java 类中创建一个唯一的整数,您可以将其用作应用程序资源的标识符(例如,您的 UI 布局中的视图)或唯一的在您的应用程序代码中使用的整数(例如,作为对话框的 ID 或结果代码)。

      参考: http://developer.android.com/guide/topics/resources/more-resources.html#Id

      【讨论】:

        猜你喜欢
        • 2013-09-14
        • 2014-10-04
        • 1970-01-01
        • 2013-03-18
        • 2014-10-15
        • 1970-01-01
        • 1970-01-01
        • 2014-06-08
        • 1970-01-01
        相关资源
        最近更新 更多