2011-09-03 29 views
3

嗨我試圖在我的Android應用程序上實現設置頁面。 我定義了一個xml首選項文件,其中我實現了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 Legend與android 2.1的設置工作正常!但他們不工作在與Android 2.2的三星Galaxy S!這對任何人都有意義嗎?

回答

1

我解決了我的三星Galaxy S的軟重置的問題...不能相信我整天都在正確的代碼上腰了。

希望這會爲他人節省一些時間。 Marco

* 軟復位:設置 - >隱私 - >出廠設置數據復位。

0

不應該有任何理由不會保存偏好設置。 當您執行更改(例如,選中複選框)時,會自動保存這些首選項。

你確定你沒有簡單地將密鑰與價值混淆?你的服務器密鑰是android:key="www.google.com"也許這就是爲什麼你認爲它沒有保存?

0

我想你需要設置android:persistent="true"你想要存儲在SharedPreferences中的首選項。如給出here

相關問題