Android 查看 ID
Android View Id's
在android发展中:
通常情况下,一个视图会被分配一个ID,以区别于其他视图。该 ID 在 XML 中被赋予一个字符串值。 findViewByID(int id) 方法采用整数参数来获取视图。
我们使用属性 android:id 为 XML 中的视图分配一个标签。
方法 findViewById() 取什么值以及数字 ID 是如何生成的,我们用它来跟踪视图层次结构中的任何视图?
谢谢
当你想在 XML 中声明一个 id 时,你可以像 android:id="@+id/myId"
R 为 Java class。当您为 XML 视图包含上述行时,public static final int myId
字段将包含在 R class 中。您可以从自己的 classes.
中引用它
findViewById(int)
接受整数作为参数。 R class 包含整数而不是您作为 XML id 输入的字符串。
这是来自 R class 的示例。
public final class R {
public static final class id {
public static final int ReflectionsLevelText=0x7f0d00af;
public static final int about=0x7f0d01b3;
public static final int action0=0x7f0d014d;
public static final int action_bar=0x7f0d005f;
public static final int action_bar_activity_content=0x7f0d0000;
public static final int action_bar_container=0x7f0d005e;
}
}
因此,如果您想访问 ID 为 action_bar
的视图,您必须调用 findViewById(R.id.action_bar)
以同样的方式,R class 也包括可绘制对象、尺寸和基本上所有的资源。它们恰好是 R class.
内部静态 classes
例如,当您将可绘制对象 ic_my_pic.png
添加到 res/drawable
时,R class 中会生成一个字段。它看起来像,
public final class R{
public static final class drawable{
public static final int ic_my_pic=0x7f020000;
}
}
现在您可以通过
从您的 classes 访问此图像
imageView.setImageResource(R.drawable.ic_my_pic);
您可以找到更多信息 here and here。
当 gradle 构建您的应用程序时,它会生成一个“
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/myEditText" />
然后您可以使用生成的 R 在您的代码中引用它 class:
EditText myEditText = (EditText) findViewById(R.id.myEditText);
window 中的所有视图都排列在一棵树中。您可以通过代码或通过在一个或多个 XML 布局文件中指定一棵视图树来添加视图。
视图可能有一个与之关联的整数 ID。这些 ID 通常在布局 XML 文件中分配,并用于在视图树中查找特定视图。
一个常见的模式是:
在布局文件中定义一个 Button 并为其分配一个唯一 ID。
<Button
android:id="@+id/my_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/my_button_text"/>
从 Activity 的 onCreate 方法中找到 Button
Button myButton = (Button) findViewById(R.id.my_button);
视图 ID 不必在整个树中是唯一的,但最好确保它们至少在您正在搜索的树部分中是唯一的。
参考:https://developer.android.com/reference/android/view/View.html
在android发展中:
通常情况下,一个视图会被分配一个ID,以区别于其他视图。该 ID 在 XML 中被赋予一个字符串值。 findViewByID(int id) 方法采用整数参数来获取视图。
我们使用属性 android:id 为 XML 中的视图分配一个标签。
方法 findViewById() 取什么值以及数字 ID 是如何生成的,我们用它来跟踪视图层次结构中的任何视图?
谢谢
当你想在 XML 中声明一个 id 时,你可以像 android:id="@+id/myId"
R 为 Java class。当您为 XML 视图包含上述行时,public static final int myId
字段将包含在 R class 中。您可以从自己的 classes.
findViewById(int)
接受整数作为参数。 R class 包含整数而不是您作为 XML id 输入的字符串。
这是来自 R class 的示例。
public final class R {
public static final class id {
public static final int ReflectionsLevelText=0x7f0d00af;
public static final int about=0x7f0d01b3;
public static final int action0=0x7f0d014d;
public static final int action_bar=0x7f0d005f;
public static final int action_bar_activity_content=0x7f0d0000;
public static final int action_bar_container=0x7f0d005e;
}
}
因此,如果您想访问 ID 为 action_bar
的视图,您必须调用 findViewById(R.id.action_bar)
以同样的方式,R class 也包括可绘制对象、尺寸和基本上所有的资源。它们恰好是 R class.
内部静态 classes例如,当您将可绘制对象 ic_my_pic.png
添加到 res/drawable
时,R class 中会生成一个字段。它看起来像,
public final class R{
public static final class drawable{
public static final int ic_my_pic=0x7f020000;
}
}
现在您可以通过
从您的 classes 访问此图像imageView.setImageResource(R.drawable.ic_my_pic);
您可以找到更多信息 here and here。
当 gradle 构建您的应用程序时,它会生成一个“
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/myEditText" />
然后您可以使用生成的 R 在您的代码中引用它 class:
EditText myEditText = (EditText) findViewById(R.id.myEditText);
window 中的所有视图都排列在一棵树中。您可以通过代码或通过在一个或多个 XML 布局文件中指定一棵视图树来添加视图。
视图可能有一个与之关联的整数 ID。这些 ID 通常在布局 XML 文件中分配,并用于在视图树中查找特定视图。
一个常见的模式是: 在布局文件中定义一个 Button 并为其分配一个唯一 ID。
<Button
android:id="@+id/my_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/my_button_text"/>
从 Activity 的 onCreate 方法中找到 Button
Button myButton = (Button) findViewById(R.id.my_button);
视图 ID 不必在整个树中是唯一的,但最好确保它们至少在您正在搜索的树部分中是唯一的。
参考:https://developer.android.com/reference/android/view/View.html