step1.寫一個類繼承PreferenceActivity重寫onCreate方法
成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司是一家服務(wù)多年做網(wǎng)站建設(shè)策劃設(shè)計制作的公司,為廣大用戶提供了網(wǎng)站制作、成都網(wǎng)站建設(shè),成都網(wǎng)站設(shè)計,廣告投放平臺,成都做網(wǎng)站選成都創(chuàng)新互聯(lián)公司,貼合企業(yè)需求,高性價比,滿足客戶不同層次的需求一站式服務(wù)歡迎致電。
step2.在res下新建一個文件夾,命名為:xml
step3.在xml文件夾下新建一個文件preference.xml(具體內(nèi)容如下)
step4.在PreferenceActivity的onCreate方法中addPreferencesFromResource(R.xml.preference);
step5.運行程序,并填入數(shù)據(jù)時,會自動保存到 <包名>_preferences.xml 文件中
step6.其他Activity可以通過PreferenceManager.getDefaultSharedPreference(Context)來獲取SharedPreference對象。然后從xml中取設(shè)置的值。
preference.xml內(nèi)容如下:
說明:
android:key 保存到xml中的鍵,我們填寫的內(nèi)容將作為值
android:title 標(biāo)題
android:summary 描述,字體偏小,在title下顯示
android:entries 顯示的列表
android:entriesValues 顯示的列表所對應(yīng)的值,這些值才是真正存到xml中的。
android:inputType="textPassword" EditTextPreference密碼效果
PreferenceCategory定義一個組
可以內(nèi)嵌一個intent
targetPackage為intent啟動程序的包名
targetClass為類的包名和類名
可以添加監(jiān)聽:
addPreferencesFromResource(R.xml.settingpreference);
PreferenceScreen ps= getPreferenceScreen();
final Preference p = ps.findPreference("username");
EditTextPreference etp= (EditTextPreference) p;
//取得鍵值對 對應(yīng)的值String value = etp.getText();
etp.setSummary(value);
etp.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
p.setSummary(newValue.toString());
//return true才會把新值保存起來 return true;
}
});