我正在通过记事本教程学习 Android,有一件事让我感到困惑。由于在文件 notes_list.xml 中使用了 Notepad2 + 并定义了 id 资源:
<ListView android:id="@+id/android:list"
<TextView android:id="@+id/android:empty"
但是据我所读,只有在定义新资源和列表时才需要 + 号,而空不是新的,但它是由 android 提供的。那他们为什么要用+号呢?如果您删除程序仍然运行。
最佳答案
可能是习惯或复制/粘贴。 :)
你是对的,因为你不需要它,@+id/
语法将定义一个新的 id,如果那个名字不存在的话。由于 Android 框架 ID android.R.id.list
和 android.R.id.empty
作为公共(public) SDK 的一部分存在,因此这两种形式在功能上是等效的。为清晰度/风格省略框架 ID 的 + 会稍微好一些,因为它避免了此处显示的混淆。
关于android - Google 的 Android 记事本教程中不必要的资源定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8280292/