【发布时间】:2011-07-27 12:19:14
【问题描述】:
我现在去安卓了。而且我在开发应用程序时遇到了麻烦,我应该在其中从服务器加载数据,然后用这些数据填充列表。我使用 asyncTask 来执行此操作,并使用 onRetainNonConfigurationInstance() 函数来处理在加载数据时更改屏幕方向,并且效果很好。
当我想处理更改活动的区域设置时,问题就开始了。当我改变方向时,语言环境的变化我已经阅读了这些:-
How do I save an Android application's state?
和 Activity restart on rotation Android
我想让布局从横向变为纵向所以我没有使用
android:configChanges="locale|orientation"
我仍然无法解决它。我认为系统会自行更改语言,所以当我更改方向时,即使我尝试使用
进行设置Locale locale = new Locale("ar");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
我需要完成活动并再次打开它,这将使用户等待更多时间,并且当用户再次尝试更改方向时,它会使应用程序崩溃。
我认为我可以使用 onRetainNonConfigurationInstance() 但我不知道我需要如何处理这些事情。因此,我们将不胜感激任何帮助。
【问题讨论】:
标签: android localization android-asynctask screen-orientation