字符串资源返回一个数字?

时间:2015-12-04 11:42:47

标签: java android string android-resources

在我的android项目中,我在res /文件夹中有一个字符串资源(string.xml)。

在该string.xml中我创建了几个字符串,如:

String url = R.strings.my_server + ":" + R.strings.my_port;
System.out.println("My server and port is: " + url);

然后我在代码中使用:

$Items[0]['Profit'] //Value = 326
$natureRunePrice // Value = 261

但我的输出是:

  

我的服务器和端口是:2131099700:2131099702

我的字符串在哪里?那似乎是那个字符串的地址?

5 个答案:

答案 0 :(得分:3)

更改:

<string name="my_server">http://12.34.56.78</string>
...

String url = R.strings.my_server + ":" + R.strings.my_port;

<string name="my_server">http:\/\/12.34.56.78</string>
...

String url = getString(R.strings.my_server) + ":" + getString(R.strings.my_port);

您需要转义my_server字符串,并使用getString(int)方法检索strings

答案 1 :(得分:1)

您可以获取字符串资源的String值,例如:

String yourString = context.getResources().getString(R.string.my_port);

其中context是您活动的背景

或者像这样导入import android.content.res.Resources

String yourString = Resources.getSystem().getString(R.string.my_port);

答案 2 :(得分:0)

您似乎实际上是在引用R文件中的ID而不是与其相关的值。

你需要这样做才能得到字符串:

T

根据Android Documentation你不需要逃避'/'。

答案 3 :(得分:0)

R.string将以public class NewEmployeeDeparmentDDLViewModel { public int EmpID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public List<SelectListItem> DeptColl { get; set; } public string DeptId { get; set; } } 的形式返回该特定字符串的id

要获取实际字符串,您将使用Integer

所以,你的getResources().getString(R.string.your_string);字符串将是这样的

url

答案 4 :(得分:0)

只是想补充一点,你需要使用contextgetString方法:

context.getString(R.id.your_string_name)

例如在我的适配器类中,我将上下文定义为

private Context mContext;

然后我在警报对话框的消息部分使用它

...

.setMesasge(mContext.getString(R.string.my_string_name))

...