gpt4 book ai didi

java - Android 应用程序首选项中的值是否会自动保存?

转载 作者:行者123 更新时间:2023-12-02 00:38:31 25 4
gpt4 key购买 nike

我正在尝试为 Android 实验性应用程序创建首选项。不过我可以让偏好发挥作用。

我想要使用的首选项确定显示语言并使用此函数来检索它:

private String selectLang()
{
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String lang = preferences.getString("lang", "n/a");
return lang;
}

然后在 ListActivity 的 onCreate 方法中,我使用此代码来显示正确的语言:

String lang =  selectLang();
String title = (lang == "english") ? "English" : "Arabic";

title 是数据库中的一列。该代码似乎不起作用,无论如何我都会得到阿拉伯语。我使用这段代码只是为了知道 lang 的值:

Toast.makeText(this, lang, Toast.LENGTH_LONG).show();

我得到“english”,但不显示英语。

这是我的列表 XML:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="lang">
<item>Arabic</item>
<item>English</item>
</string-array>
<string-array name="langValues">
<item>arabic</item>
<item>english</item>
</string-array>
</resources>

我已经阅读了这里的许多答案,因此我应该使用 SharedPreference 编辑器,但我无法获得完整的工作示例。

你能帮忙吗?

最佳答案

这个:lang == "english"应该是lang.equals("english")

使用equalsequalsIgnoreCase 比较字符串(与任何其他对象一样)。 == 运算符比较对象引用,而不是对象内容,因此您的检查始终评估为 false。

关于java - Android 应用程序首选项中的值是否会自动保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7048314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com