gpt4 book ai didi

java - Android 通过 strings.xml 中的值进行切换

转载 作者:行者123 更新时间:2023-11-30 10:33:45 25 4
gpt4 key购买 nike

我是 Android 新手,想再了解一下。我有一个 strings.xml,它是我在 activity.xml 中使用的值。如何在 switch block 中使用来自 JAva 代码的这些值?

private void gotoActivity(CharSequence text) {
switch (text.toString()) {
case getString(R.string.title_activity_first):
break;

case RADIO_BUTTON_SECCOND:
break;
}
}

不编译“需要常量表达式”的 cos。但 strings.xml 的主要好处是字符串常量在一个地方。

请帮忙。

最佳答案

不幸的是,您不能在 switch-case 中使用资源字符串。你有两个选择。选择任何人...

  1. 在您的 Activity 中使用static final String

    例子:初始化字符串

    public static final String TITLE_ACTIVITY_FIRST = "activity_title";

    public static final String RADIO_BUTTON_SECCOND = "radio_button_second";

    然后您可以在 switch case 中使用 TITLE_ACTIVITY_FIRST。喜欢,

     switch(text.toString()){
    case TITLE_ACTIVITY_FIRST: break;
    case RADIO_BUTTON_SECOND: break;
    }

    不会显示错误!

  2. 使用 if-else。然后您可以使用您的资源字符串。

    示例:

    if(text.toString().equals(getString(R.string.title_activity_first))){
    //第一种情况下的代码
    }else if(text.toString().equals(getString(R.string.title_activity_second))){
    //你的代码在第二种情况下
    }

第二个可能看起来很笨拙。但是您不必过多更改代码。而第一个可能看起来很方便,您可以稍后轻松修改。希望对您有所帮助!

关于java - Android 通过 strings.xml 中的值进行切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42054230/

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