gpt4 book ai didi

java - 语言资源

转载 作者:行者123 更新时间:2023-12-01 12:22:45 24 4
gpt4 key购买 nike

我正在尝试使我的应用程序多语言化。但我很难以正确的语言获取字符串数组。它在应用程序的其他任何地方都可以工作,但在我的抽屉导航中却失败了。有没有我遗漏的东西,我认为这与上下文有关,但我不确定。

我正在使用的代码是:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

Context context = getActivity();

// Change the application language
Resources res = context.getResources();
DisplayMetrics dm = res.getDisplayMetrics();
android.content.res.Configuration conf = res.getConfiguration();
conf.locale = new Locale("es");
res.updateConfiguration(conf, dm);

mDrawerListView.setAdapter(new ArrayAdapter<String>(getActionBar().getThemedContext(), android.R.layout.simple_list_item_1, android.R.id.text1, res.getStringArray(R.array.drawer_activities)));
mDrawerListView.setItemChecked(mCurrentSelectedPosition, true);
return mDrawerListView;
}

它确实成功获取了字符串数组,但它获取了默认语言英语。它不会加载其他语言。

最佳答案

在你的 strings.xml 中你应该这样做:

<string name="one">one</string>
<string name="two">two</string>
<string name="three">three</string>

<string-array name="numbers">
<item>@string/one</item>
<item>@string/two</item>
<item>@string/three</item>
</string-array>

现在您必须对其他语言(例如西类牙语)执行相同的操作,并且您可以使用与上面相同的模式将 strings-es.xml 与 uno, dos, tres 一起使用:

<string name="one">uno</string>
<string name="two">dos</string>
<string name="three">tres</string>

<string-array name="numbers">
<item>@string/one</item>
<item>@string/two</item>
<item>@string/three</item>
</string-array>

关于java - 语言资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26555087/

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