【发布时间】:2023-03-15 15:33:01
【问题描述】:
如http://tools.android.com/tips/non-constant-fields 中所述,资源 ID 不是最终的(在 ADT 14 中)。因此,使用 switch 的检查被破坏(参见:Android resource IDs suddenly not final, switch()'es broken)。 但是打开 R.java 后,您可以看到有 final 资源。 那么,使用什么 - if 或 switch?哪些版本的 SDK 需要 if 语句? 如果我写,Lint 不会发出警报
switch (v.getId()) {
case R.id.llBirthday:
...
break;
case R.id.llCity:
...
break;
}
【问题讨论】:
-
两者都可以,我想这是一个偏好问题。当您引用 R.id.SomeId 时,您指的是 R,并且 R 是在您编译应用程序时生成的,因此它应该始终有效。谷歌已经练习了一段时间了。为了安全起见,我总是使用 if,因为大小写取决于原始 int
标签: android