当我将 View 命名为 android:id="@+id/TextView1"
和代码
TextView tv1 = (TextView) findViewById(R.id.TextView1);
返回了错误的 View ,即使没有给出命名约定的警告。 当我将名称更改为 text_view_1 时,它起作用了。
我知道通常的命名约定都是小写,比如 android:id="@+id/text_view_1"
或者驼峰式,比如 android:id="@+id/textView1"
是否有任何记录的资源来解释问题或任何答案? 我还想知道我在开源代码中经常看到的变量名中的 m 代表什么。例如
TextView mTextView;
这是一个菜鸟问题,但我在任何地方都找不到答案。
最佳答案
尝试清理并构建您的项目。
安卓coding syle guide状态:
- 非公开的、非静态的字段名称以 m 开头。
- 静态字段名称以 s 开头。
- 其他字段以小写字母开头。
- 公共(public)静态最终字段(常量)是 ALL_CAPS_WITH_UNDERSCORES。
这将是 private ImageButton mButtonStart;
或 private static sSingletonThing;
顺便说一句,只有当您想为 Android 源代码做出贡献时才需要使用该约定,您可以以任何风格编写自己的应用。
关于Android布局 View ID名称问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15740498/