gpt4 book ai didi

java - 在 Switch 中使用来自资源 XML 的字符串?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:36 24 4
gpt4 key购买 nike

这里是 Android 的新手,所以如果这是一个简单的问题,我深表歉意。

我正尝试在我的 XML 中使用基于字符串资源的开关。它看起来像这样:

switch (myStringVariable) {
case getResources().getString(R.string.first_string):
break;
case getResources().getString(R.string.second_string):
break;
case getResources().getString(R.string.third_string):
break;
default:
break;
}

不幸的是,这行不通。我得到的错误是“需要常量表达式”。

有没有一种半优雅的方法可以解决这个问题,而不必像创建 3 个字符串对象并将字符串资源分配给每个对象那样?我觉得我遗漏了一些明显的东西,所以任何帮助都会很棒!

谢谢:)

最佳答案

首先,Android所基于的Java版本不支持String switch语句,所以一般要用if/else block 来代替。

编辑:如果您使用 JDK 1.7 及更高版本,则支持字符串 switch 语句

我不确定你的用例是什么,但如果你有 myStringVariable 的资源 ID,它是一个 int,你可以切换它:

switch (myStringResId) {
case R.string.first_string:
break;
case R.string.second_string:
break;
case R.string.third_string:
break;
default:
break;
}

关于java - 在 Switch 中使用来自资源 XML 的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29541914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com