【问题标题】:How can i put a variable in string.xml?如何在 string.xml 中放置变量?
【发布时间】:2013-09-19 23:28:29
【问题描述】:

我有这样的变量设置:

String result = " Non in carica";
String resultusb = " No";

--
--

if (isCharging) {
 result = " In carica";
} 

if (usbCharge){
 resultusb = " Si";
} 

变量resultresultusb根据情况假设两个值..没有TextView只有这个,只有一个具有更多值的变量。我需要翻译它们,所以我必须将它们放在 strings.xml 中。我该怎么做?我该如何翻译它们?

【问题讨论】:

  • 阅读和学习:developer.android.com/guide/topics/resources/…。这里的答案太短了——只有一个链接——所以我写了一个评论。
  • 我该如何考虑?数组?还是数量?
  • 在 android.R.string 中有一些已经为您翻译好的字符串(例如,有没有)。这似乎不是一个数组,但我不完全理解你的问题。
  • 结果和resultusb可能有2个值。所以在strings.xml中我需要例如收费假设或在carica或Non in carica..但它是同一个变量。现在明白了吗?
  • 我想是的,是的。我将在我的 strings.xml 中有两个条目,并使用 if-else(或更优选地,三元运算符)来选择要使用的条目。

标签: java android xml string android-xml


【解决方案1】:

这样的……

在 res/values/strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="not_charging"> Non in carica</string>
    <string name="is_charging"> In carica</string>
    <string name="usb_no"> No</string>
    <string name="usb_yes"> Si</string>
</resources>

在你的代码中:

String result = getString(R.string.not_charging);
String resultusb = getString(R.string.usb_no);

--
--

if (isCharging) {
 result = getString(R.string.is_charging);
} 

if (usbCharge){
 resultusb = getString(R.string.usb_yes);
} 

【讨论】:

  • 嗯……这不是我说的吗?
【解决方案2】:

如果我理解正确,答案是你不能。您不能在运行时将它们放入您的 strings.xml 文件中。 resources编译后无法更改。

您可以在编译之前将它们放入您的 strings.xml 文件中,然后在运行时使用类似的东西检索它们

if (isCharging) {
   result = getResources().getString(R.String.charging);  // assuming charging is the name in strings.xml
} 

if (usbCharge){
  resultusb = getResources().getString(R.String.si);   // assuming si is the name in strings.xml
 } 

如果这不是您所要求的,那么请更清楚

【讨论】:

  • resultresultusb 可能有 2 个值.. 所以在 strings.xml 中我需要例如充电假设或In caricaNon in carica.. 但它是同一个变量.现在明白了吗?
  • 也许吧。在strings.xml 中创建 4 个变量。如果isChargingresult = getResources().getString(R.String.inCarica); else result = getResources().getString(R.String.nonCarica);。明白了吗?
猜你喜欢
  • 2013-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
  • 2019-07-24
  • 1970-01-01
相关资源
最近更新 更多