2011-12-06 36 views
4

我的应用程序具有语言设置功能。现在它可以正常工作,但在重新启动设备后,语言会恢复到原始设置。如何在设备重启后保持应用语言设置?

有没有人有任何想法?我是否需要执行SharedPreferences


我得到了答案。如果您的应用程序内有语言设置。在重新启动设备后,您更改的最后一种语言仍然是默认设置。通过SharedPreferences存储变量的方法之一是使这项工作,可能是字符串语言

另一件事,你需要的是启动类。所以,只要你打开应用程序。它能够打电话。

例如

Setting appSettings = Setting.getInstance(getApplicationContext());

language = appSetting.getLanguage();

appSetting.setLanguage(language);

+1

来启动设备的语言设置活动,您需要在用户选择时存储语言选项。 –

+0

谢谢你们所有的人,我会尝试所有的建议 –

回答

3

是的,最好的选择是使用SharedPreferences。

您可以在这里找到一个教程:http://www.sgoliver.net/blog/?p=1731

希望这有助于...

+0

感谢你的帮助,但我认为事件我们通过使用SharedPreferences改变它,整个应用程序仍然没有改变..只是一些活动,我猜,是是吗?根据FunkTheMonk –

+0

非常感谢SharedPreferences现在工作 –

3

事实上,你应该使用SharedPreferences变量来存储当前语言。

+0

你尝试过吗?对于语言..我尝试,但它不是工作,我不知道为什么? –

+0

不,我其实没有... – Ramseys

+0

感谢你现在的工作 –

0

你并不需要使用SharedPreferences,而是在你的清单中android:configChanges="locale"attribute。如果您更改当前的区域设置,则该活动会为您记住它。

+0

我试试这个,但重启设备后,应用程序语言仍然使用“英语”这是该设备的默认语言。顺便说一下,我在application标签内声明了android:configChanges =“locale”:,对吗? –

+0

不,这是一个活动属性(我不知道为什么):'”' – Dalmas

1

除非他们已经改变了东西,否则在每个活动的基础上更改语言环境是一个坏主意。相反,您应该通过使用this action

+1

看起来像这可能是更好的方式来改变语言,只是..奇迹是没有如何更新代码中的应用程序语言? –

相关问题