gpt4 book ai didi

java - ListPreference 和翻译

转载 作者:行者123 更新时间:2023-11-30 00:42:43 26 4
gpt4 key购买 nike

extends PreferenceFragment 并将这样的代码添加到 onCreate 方法:

 final ListPreference pref = (ListPreference) findPreference(PREF_NAME);
String[] array={getString(R.string.variant1), getString(R.string.variant2)};
CharSequence[] entries = array;
CharSequence[] entryValues = array;
pref.setEntries(entries);
pref.setDefaultValue(getString(R.string.variant1));
pref.setEntryValues(entryValues);

有两个变体(它们不能打开/关闭,所以我使用 ListPreference)。

所以我的问题是:一方面我想在用户界面中看到合适的翻译,所以你可以看到我使用了 getString,在 SharedPreferences 中的另一方面,我希望使用不依赖于用户语言的键来存储值,我该如何实现?

最佳答案

EntryValues 数组用作条目数组中项目的键,因此这两个数组的大小应该相同。条目数组中的用户值会显示(因此需要翻译),但在共享首选项中会保存 entryValues 数组中的选定值(因此不应本地化)。

在您的代码中,您可以将其更改为如下内容:

    final ListPreference pref = (ListPreference) findPreference(PREF_NAME);
CharSequence[] entries = new String[]{getString(R.string.variant1), getString(R.string.variant2)};
CharSequence[] entryValues = {"variant1", "variant2"};
pref.setEntries(entries);
pref.setDefaultValue("variant1");
pref.setEntryValues(entryValues);

关于java - ListPreference 和翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42303925/

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