【问题标题】:diferrence between R & android.R class [duplicate]R和android.R类之间的差异[重复]
【发布时间】:2016-05-03 01:56:49
【问题描述】:

任何人都可以从这个问题中解释一下吗? 'R'之间的区别是什么

R.id.myListView

&

android.R.layout.simple_list_item_1

这两个'R'不是同一个类吗?

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

【问题讨论】:

  • 不,它们在不同的包中。一个在android,另一个在your.packagename

标签: android


【解决方案1】:

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

【讨论】:

    【解决方案2】:
    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
    

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

    【讨论】:

    • 谢谢老兄,让它响亮清晰.. :-)
    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        【解决方案5】:

        R.* 由您定义。 android.R.* 是预定义的。

        【讨论】:

          猜你喜欢
          • 2012-10-19
          • 1970-01-01
          • 1970-01-01
          • 2012-11-21
          • 2012-12-16
          • 2020-01-09
          • 2018-07-24
          • 2016-09-03
          • 1970-01-01
          相关资源
          最近更新 更多