如何通过字符串值在Android中查找资源字符串?

时间:2017-06-15 08:36:17

标签: java android

假设我在我的strings.xml中:

$newarr=array();
$music = Array(
[0] => Array
    (
        [0] => Music One
        [1] => Two
    )

[1] => Array
    (
        [0] =>  C:\fakepath\Shape of You - Ed Sheeran (DJJOhAL.Com).mp3
        [1] => C:\fakepath\I m The One Ft Justin Bieber Quavo Chance The Rapper  Lil Wayne - DJ Khaled (DJJOhAL.Com).mp3
        [2] => 
    )

)
foreach($music[0] as $key=>$value){
$newarr[$key]['releasetrack_track_title']=$value;
$newarr[$key]['releasetrack_mp3_demo']=$music[1][$key];
}
print_r($newarr);

我想得到"一个值"或"另一个价值"来自String值。在运行时它可能是" a"或者" b",但我无法控制它。

所以,让我们说,在某些时候,String myString =" a"。我怎样才能把"一个值"在一个String局部变量?

4 个答案:

答案 0 :(得分:1)

在您的活动中输入R.string.,然后按alt+enter 它会显示可用的字符串。

 R.string.a
 R.string.b

请回信告诉我是否有帮助。如果确实如此,请标记为已回答并支持upvote;)

另请参阅文档,请参阅下面的链接

https://developer.android.com/guide/topics/resources/string-resource.html

答案 1 :(得分:1)

您可以使用switch-case:

private String getValue(String valueOf) {
    int resourceVal = 0;
    switch(valueOf) {
        case "a":
            resourceVal = R.string.a;
            break;
        case "b":
            resourceVal = R.string.b;
            break;
    }
    if (resourceVal != 0) {
        return getResources().getString(resourceVal);
    }
    return "";
}

答案 2 :(得分:0)

String string = getString(R.string.yourStringName);

答案 3 :(得分:0)

这是一个逻辑问题但是如果你知道什么可能返回api然后你可以设置这样的标志

if(id == 1 ) { R.string.a }