android - Google 的 Android 记事本教程中不必要的资源定义?

标签 android

我正在通过记事本教程学习 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.listandroid.R.id.empty 作为公共(public) SDK 的一部分存在,因此这两种形式在功能上是等效的。为清晰度/风格省略框架 ID 的 + 会稍微好一些,因为它避免了此处显示的混淆。

关于android - Google 的 Android 记事本教程中不必要的资源定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8280292/

相关文章:

android - 游戏机 : Studio Android fail to build ProcessException

php - Android 应用程序在数据库方面是否遵循客户端/服务器端架构?

javascript - 如何在平板电脑和手机的 Android 设备方向更改时获得正确的窗口宽度

android - Google 登录按钮导致空对象引用

android - 如何使用 GridLayout 使表单标签适应 Android 上的方向

Android - Ajax 样式自动检查用户名可用性

android - 通知 setLights() 默认值?

android - jsonArray.toString() 给我不完整的 json

java - 将图像插入屏幕的触摸坐标处

Android expandablelistview展开时无法显示最后一组