3

ID有几种不同的定义方式:

android:id="@id/android:list"
android:id="@+id/android:list"
android:id="@+id/confirm" 

有什么区别?

4

3 回答 3

4

android:id="@id/android:list" 指的是android.R.id.list。android.R 包含与平台捆绑的资源。这些标准资源有很多,它们都列在 JavaDoc 中

@+ 创建一个资源,因此 android:id="@+id/confirm" 在应用程序的 R 类中创建一个新 id,即。确认。这在开发指南的用户界面 > 声明布局 > ID中进行了解释。

我不确定您是否可以执行 android:id="@+id/android:list",因为这意味着您正在尝试在平台的资源类上创建资源。

于 2010-04-01T07:04:24.963 回答
1

+id/label 意味着您的资源将具有一个 id 值 = label 并且该标签属于您的应用程序的名称空间。android.jar 文件捆绑了许多资源,当提到这些资源时,你会说 android:id = "@android:id/list" 这意味着你的资源将有一个 id value = list 并且这个值属于 android 名称空间。

有关详细信息,请参阅以下内容: http ://groups.google.com/group/android-developers/browse_thread/thread/dc8023b221351aa7

于 2010-04-01T05:27:32.457 回答
0

'+' 表示将其添加到当前项目的 R.java 中。那些没有优点的是从框架继承的资源。

于 2010-04-01T04:27:57.157 回答