1
我有两个活动:一个(SettingsActivity),从而节省了在的onStop(偏好)是这样的:如何阅读更新的共享首选项?
SharedPreferences.Editor editor = getSharedPreferences("myprefs", Context.MODE_PRIVATE).edit();
editor.putString("login", etLogin.getText().toString());
editor.putString("password", etPassword.getText().toString());
editor.commit();
和第二个(MainActitivy),其内容为他们的onResume()之类
SharedPreferences prefs = activity.getSharedPreferences("myprefs", Context.MODE_PRIVATE);
prefs.getString(...);
当我更改设置并返回主活动时,旧值将被加载!我必须再次打开SettingsActivity并再次返回,才能进行更改。
是onStop()的保存例程在onResume()旁边的单独线程中运行,因此读取时,更改还没有提交?如何实现正确的行为?肮脏的解决方案的想法:我正在考虑一个单身人士,它拥有我的喜好,并保存()和负载(),但这是丑陋的解决方案,我想知道,如何正确地做到这一点。
是的,onStop()已被调用。但是它在onResume()之后调用() – shmoula 2012-07-07 22:50:30
我在onStop()中调用了记录器,并且输出被打印,所以我认为调用了onStop()。 – shmoula 2012-07-07 22:57:59
是否在onStop()和onResume()方法的末尾调用super.onStop()和super.onResume()?这可以解决你的问题!? – aichingm 2012-07-07 23:22:49