R.id.myView 指的是什么?

What does R.id.myView refer to?

你能告诉我这个名字的三个单独的组成部分指的是什么吗?

R.id.myView

R - R.java是aapt(Android资产打包工具)自动生成的文件,里面包含了res的所有资源的资源ID目录。

public final class R 
extends Object 

.id - 使用其 id "defined by you"

查找视图
public static final class R.id 
extends Object 

myView - 这是您在 XML 文件中使用 android:id="@+id/your_view" 属性定义的视图。

所以,最后我们可以使用R.id.your_view找到或识别任何视图。

android.R -R 是 android 中的最后一个 public class。它扩展了对象 class 并且它有许多嵌套的 class 像 R.idR.anim

R.java 是系统自动生成的文件,包含应用程序中使用的每个资源的id,用于引用。 R.class 包含所有 android 资源的 ID。

android.R.id 是 R class 的嵌套 class。它有许多静态最终常量,如 text1togglebutton

android.R.id.myView 是视图 class 的标识符。它表示在 XML.

中定义的相应视图的 id

Android R.javaaapt (Android Asset Packaging Tool) 自动生成的文件,其中包含 resource IDs 资源的所有资源/ 目录.

每当您在项目中使用任何资源时,都会自动生成一个唯一 ID,您可以使用该 ID 来识别该资源。您不能删除此文件。

R :- Java class 是所有资源及其相关 ID 的集合。

id :- 每当您创建任何资源并使用 @+id 分配 id,然后 R 文件创建一个唯一的该资源的 ID。

myView :- 用户可以识别的视图 ID 名称,通过使用该视图 ID 名称,我们可以在 activity java 文件中识别该视图.

下面是 R.java 文件中视图 ID 的示例。如果您想显示它所在的位置,那么 check 这个答案。

R.Java 文件示例

public final class R {  
    public static final class attr {  
    }  
    public static final class drawable {  
        public static final int ic_launcher=0x7f020000;  
    }  
    public static final class id {  
        public static final int menu_settings=0x7f070000;  
    }  
    public static final class layout {  
        public static final int activity_main=0x7f030000;  
    }  
    public static final class menu {  
        public static final int activity_main=0x7f060000;  
    }  
    public static final class string {  
        public static final int app_name=0x7f040000;  
        public static final int hello_world=0x7f040001;  
        public static final int menu_settings=0x7f040002;  
    }  
    public static final class style {  

        public static final int AppBaseTheme=0x7f050000;  
        public static final int AppTheme=0x7f050001;  
    }  
}