@ + id / android:list和@ + id / list有什么区别?
我想知道@+id/android:list和@+id/list什么区别。 我知道最后一个是定期编号,但第一个看起来不一样。 是什么使它特别? 
我在那里看到:我正在研究ListView,ListAdapter和类似的东西,作者在layout xml文件中定义了ListView,如下所示:
 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ListView android:id="@+id/android:list" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <TextView android:id="@+id/android:empty" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="@string/main_no_items"/> </LinearLayout> 
 也让我提及@+id/android:empty id。 
 而且他还扩展了ListActivity类。 
这里是文章的来源 。
还有我脑海中的问题是:
-  我们应该扩展ListActivity吗? 也许我想要一个也包含其他视图的活动。
-  我们使用@+id/android:list只是因为我们扩展ListActivity或者如果我们扩展Activity我们可以使用相同的约定?
谢谢。
Android中的资源ID是特定于一个包的(这很好,否则如果你的应用同时处理几个包的话你会有很多的冲突)。
  @+id/list将在您的应用程序(=您的软件包)中创build一个名称为“list”的资源ID并为其提供一个唯一的ID。 在代码中,这将是R.id.list 。 
  @android:id/list将使用android包中的ID“list”(在代码中,它将是android.R.id.list 。 
 编辑:需要添加更正David Hedlund指出:适当的引用将是@android:id/list 。 另外, +表示你正在定义一个新的ID–当你引用在Android API中定义的东西时,你显然不需要这个ID。 
 我认为你发布的示例代码有一个错字,所以它应该是@android:id/list (不带+)。 从ListActivity javadoc : 
你自己的视图必须包含一个ID为“@android:id / list”的ListView对象
  @android:id/list特定于ListActivity,因此,如果将ListView添加到其他types的Activity中,则不需要它。 如果您希望用户不仅仅是查看列表,您应该扩展ListActivity。 例如,您可以重写ListActivity.onListItemClick来响应列表中某个项目的点击。 
 同样, @id/android:empty (再次,没有+)是ListActivity的特例。 这使您可以指定一个替代视图,当列表为空时应显示该视图。 该列表填充时,该视图将不会显示。 
在android中,
在XML中:@ [package:] layout / filename
喜欢
 android:id="@+id/android:list" 
这是引用listFragment或listActivity时引用列表视图的标准方式
所以文件名是android:list是对ListView的引用。
 导航到res/values/ids.xml 
 你会发现<item type="id" name="list" /> 
ListView是显示可滚动项目列表的视图组。 列表项自动插入到列表中,使用从数据源或数据库查询等来源提取内容的适配器,并将每个项目结果转换为放置在列表中的视图。