Android 不使用R.id的任何理由<;id_name>;作为我代码中的标识符?
有什么理由不使用R.id吗。作为我代码中的常量 例如,在ids.xml文件中,我有:Android 不使用R.id的任何理由<;id_name>;作为我代码中的标识符?,android,Android,有什么理由不使用R.id吗。作为我代码中的常量 例如,在ids.xml文件中,我有: <item name="status_running" type="id"/> <item name="status_finished" type="id"/> <item name="status_error" type="id"/> 有什么理由不这样使用R.id值吗?您正试图以id身份访问名称值。。。您应该为id设置一个值 因为您使用的是一个项目列表(我想),所以您应该
<item name="status_running" type="id"/>
<item name="status_finished" type="id"/>
<item name="status_error" type="id"/>
有什么理由不这样使用R.id值吗?您正试图以id身份访问名称值。。。您应该为id设置一个值
因为您使用的是一个项目列表(我想),所以您应该以不同的方式访问它。使用这样的ID似乎是合理的。您的代码示例的唯一问题可能是android构建系统中最近的更改。库项目中的资源ID不再是常量,不能在switch语句中使用 <>这只会影响你,如果这个代码将成为图书馆项目的一部分,至少要考虑一下。
有关详细信息,请参阅博文。只要不将其存储在数据库中,它与其他任何文件一样,只是一个常量int。但如果要存储此值(如文件或数据库),则可能会遇到问题,因为AFAIK id值可能会在不同版本之间更改。No-这与任何UI无关。ID是R.java文件中的一个int值,我在代码中使用这个int值作为标识符。我想知道是否有什么原因我不知道为什么我不应该这样做,而不是编写像
final static int something=0x4这样的代码代码>啊,是的-我知道我读过一些关于他们不在哪里的文章。谢谢:)
switch (status) {
case R.id.status_running:
mProgressTextView.setText("Running");
break;
case R.id.status_finished:
mProgressTextView.setText("Finished");
setNextSyncTime();
break;
case R.id.status_error:
mProgressTextView.setText("Error: " + intent.getStringExtra(Intent.EXTRA_TEXT));
break;
default:
break;
}