您好我正在尝试在我的Android应用中实施设置页面。 我定义了一个xml Preference文件,我在其中实现了CheckBoxPreference和EditTextPreference。
所有设置在运行应用程序时都能正常运行,但是当我杀死它时,我将丢失所有设置。
Preference.xml文件:
<PreferenceCategory android:title="Connection">
<CheckBoxPreference
android:title="Auto Log-In"
android:summary="Auto connect "
android:key="autoLogIn"
android:enabled="true"
android:selectable="true"/>
<EditTextPreference
android:name="Server"
android:summary="Change the default server"
android:defaultValue="www.google.com"
android:title="Change server to:"
android:key="www.google.com" />
</PreferenceCategory>
Preferences.class
public class Preferences extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);\
}
}
如何让应用保存设置?
更新: 我做了一些测试,并在虚拟设备和我的旧HTC传奇与Android 2.1设置工作正常!但它们不适用于Android 2.2的三星Galaxy S !这对任何人都有意义吗?
答案 0 :(得分:2)
我用三星Galaxy S的软重置 *解决了这个问题...我不能相信我整天都在使用正确的代码。
希望这会为其他人节省一些时间。 马可
* 软重置:设置 - &gt;隐私 - &gt;工厂数据重置。
答案 1 :(得分:0)
不应该保存prefs的任何理由。 执行更改时会立即保存首选项(例如,选中复选框)。
您确定不会简单地将密钥与值混淆吗?您的服务器密钥是android:key="www.google.com"
也许这就是您认为它未保存的原因?
答案 2 :(得分:0)
我认为您需要为要存储在SharedPreferences中的首选项设置android:persistent="true"
。正如给出here。