在.Java活动中使用strings.xml值

Par*_*one 1 java android android-xml android-activity

因此,我将使我的应用程序使用Multilingual并为不同的语言制作不同的String.xml.我也在改变我的文本,例如

String message = "Calling " + name;
                Context context = getApplicationContext();
                int duration = Toast.LENGTH_SHORT;

                Toast toast = Toast.makeText(context, message, duration);
                toast.show();
Run Code Online (Sandbox Code Playgroud)

String message = toastCalling + name;
Run Code Online (Sandbox Code Playgroud)

(来自strings.xml)

<string name="toastCalling">Calling</string>
Run Code Online (Sandbox Code Playgroud)

我遇到一个问题,它显然是一个INT,要么无法解析,要么将toastCalling(Calling)的值更改为"278172"(随机数)

有没有办法获得R.String.toastCalling(Calling)的ACTUAL值

我试过了:

String whatever = getResources().getString(R.string.toastCalling);
Run Code Online (Sandbox Code Playgroud)

但我不认为这是实际的.

提前致谢!

dam*_*ian 5

如果你在活动的范围内,你可以并且应该打电话getString(R.string.toastCalling);来接收字符串.如果您不在活动的范围内,则需要getResources,如您的示例所示.这就是它应该如何完成的.

顺便说一下,你的吐司三条线可以缩短为一条: Toast.makeText(ctx, msg, Toast.LENGTH_LONG).show();