【发布时间】:2020-10-13 12:34:33
【问题描述】:
@Override
public void onClick(View v) {
switch (v.getId())
{
case R.id.legalInformationLL:
startActivity(new Intent(AboutActivity.this, LegalInformation.class));
break;
case R.id.backIB:
finish();
break;
}
}
对于此代码“资源 ID 在 Android Gradle 插件版本 5.0 中将是非最终的,请避免在 switch case 语句中使用它们”警告出现。可能的解决方案是什么?如果我将此代码更改为:
@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.legalInformationLL) {
startActivity(new Intent(AboutActivity.this, LegalInformation.class));
} else if (id == R.id.backIB) {
finish();
}
}
警告;但与 if 语句相比,switch 语句的性能更好。那么有什么可能的解决方案可以更快地高效运行?
【问题讨论】:
-
当我将鼠标悬停在显示该警告的代码上时,android studio 4.1 中没有显示快速修复。
-
定义本地final并替换switch case:final int id1 = R.id.legalInformationLL;案例 id1: