如何在 Android Studio 中为变量赋值

Posted

技术标签:

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

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

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

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

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

谢谢。

【问题讨论】:

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

【讨论】:

以上是关于如何在 Android Studio 中为变量赋值的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android Studio 中为小部件设置不高度?

如何在 android studio 中为线性布局制作“波浪”边框?

如何在 foreach 循环中为 char 变量赋值? C#

如何在 android studio 中为 IBM MobileFirst 项目导入外部库项目?

如何在 android studio 中为初学者添加操作栏?

如何在字段中为变量赋值?