8

谁能从这个问题中解释一下;'R'之间的区别是什么

R.id.myListView

&

android.R.layout.simple_list_item_1

这两个'R'不是同一个班级吗?

*有些人对这个问题投了反对票。我需要问他们原因。如果您回答了重复的问题,然后对我投了反对票,那将是有道理的。既没有回答我的问题,也没有回答重复的问题!!!我的意思是在没有帮助的情况下拒绝投票有什么意义?这个网站不应该是为程序员提供帮助的吗!!诡异的!!**

4

5 回答 5

11

R.layout.*, R.id.*,实际上任何前面R.something没有android.- 部分的都是指资源文件夹中的一些资源,例如可绘制对象、字符串、布局、小部件的 id 等。android.R.*指的是 SDK 附带的标准 android 项目

于 2013-06-08T06:30:12.460 回答
1
R.id.myListView 

您的R.java文件(在 project/gen 文件夹中自动生成) 当您的应用程序被编译时,aap 会生成 R 类,其中包含 res/ 目录中所有资源的资源 ID。对于每种类型的资源,都有一个 R 子类(例如,R.drawable对于所有可绘制资源),对于该类型的每种资源,都有一个静态整数(例如,R.drawable.icon)。此整数是可用于检索资源的资源 ID。

android.R.layout.simple_list_item_1

例如(在 Java 中)是Android 框架中android.R.id.text1的标识符。TextView您可以在框架的许多布局中找到它(select_dialog_item、select_dialog_singlechoice、simple_dropdown_item_1line 等)。

于 2013-06-08T06:07:51.430 回答
0

android.R是作为 Android 应用程序框架的一部分提供的一组内置常量。另一个R类是您的 xml 资源的生成表示。

拥有多个具有相同名称的类是有效的 Java/Android,只要它们位于不同的包中(这里就是这种情况)。

于 2013-06-08T06:08:12.213 回答
0

R.id.MyListview :- R 是一个类,它是你的包资源

android.R.layout.simple_list_item_1 :- 它是 android R/Resource 类,您正在尝试使用它来获取 simple_list_item 布局的布局 id

于 2013-06-08T06:08:28.850 回答
0

R.*由你定义。 android.R.*是预先定义的。

于 2013-06-08T06:19:08.193 回答