【问题标题】:How to assign a value to a variable in Android studio如何在 Android Studio 中为变量赋值
【发布时间】:2018-06-18 14:18:04
【问题描述】:

我正在尝试制作一个玩家拥有武器的简单文字游戏。

我希望,当单击某个选项时,包含武器名称“knife”的值会更新为“sword”。

我创建了一个包含“刀”值的资源字符串,但似乎找不到可以更新它的语法。我已经读过也许您无法更改资源值。这是真的吗?

如果是的话。我该如何解决?

谢谢。

【问题讨论】:

  • 问题不清楚,请尝试编辑并使其更清楚。
  • 我的问题很清楚
  • 我也不清楚这个问题。能否请您至少添加相关代码?
  • 每当您在 StackOverflow 上发布问题,并且问题本身与代码相关时,您都应该发布该代码,以便我们分析问题。在这种情况下,请编辑您的问题并张贴一些您工作的迹象。问候
  • 虽然我理解了这个问题,但其他的都是正确的。在询问时尝试包含minimal reproducible example,并且不要忘记在获得解决方案时接受答案(以及在此过程中为任何帮助您的其他人点赞)

标签: java android


【解决方案1】:

看来您确实需要返回并从 Android 和国际化的基础知识开始。 无法在运行时更新资源,正如您正确发现的那样,因此您的方法需要改变。

这是一个例子:

TextView text;
String value = getString(R.string.knife);
text.setText(value);

似乎onClick 你试图做这样的事情:

setString(R.string.knife, "sword");

这是不可能的。相反,您需要将这两个字符串作为单独的资源,然后在需要时将您的值切换到新资源。很简单:

value = getString(R.string.sword);
text.setText(value); //and reset the display

【讨论】:

    【解决方案2】:

    作为参考,如果有人偶然发现同样的问题,我找到了Shared Preferences 的一个很好的解决方案。它允许将变量值保存在设备的内存中。

    【讨论】:

      猜你喜欢
      • 2020-05-14
      • 1970-01-01
      • 2016-03-17
      • 1970-01-01
      • 2013-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多