preference.xml
?xml version= 1.0 encoding= utf-8 ? PreferenceScreen xmlns:android= http://schemas.android.com/apk/res/android Preference android:title= 基本信息 android:layout= @layout/text_view /Preference !--自己定义layout-- CheckBoxPreference android:key= checkbox android:title= 性别 android:summary= 男 ,女 / RingtonePreference android:key= ringtone android:title= Ringtone Preference android:showDefault= true android:showSilent= true android:summary= Pick a tone, any tone / ListPreference android:summary= select a list android:title= Type android:entries= @array/my_array !--string-array-- android:entryValues= @array/my_array android:key= list / EditTextPreference android:key= edit android:dialogTitle= nihao android:title= 姓名 /PreferenceScreen
**Activity.java
package com.lin.share;import android.content.SharedPreferences;import android.os.Bundle;import android.preference.EditTextPreference;import android.preference.ListPreference;import android.preference.Preference;import android.preference.Preference.OnPreferenceChangeListener;import android.preference.PreferenceActivity;import android.preference.PreferenceManager;import android.view.View;public class TestPreferenctScreenActivity extends PreferenceActivity { /** Called when the activity is first created. */ ListPreference list; SharedPreferences prefs; EditTextPreference editTextPreference; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preference); prefs=PreferenceManager.getDefaultSharedPreferences(this); list=(ListPreference)findPreference( list editTextPreference=(EditTextPreference)findPreference( edit editTextPreference.setSummary(prefs.getString( edit , default )); editTextPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { // TODO Auto-generated method stub editTextPreference.setSummary(newValue.toString()); editTextPreference.setDefaultValue(newValue); editTextPreference.setText(newValue.toString()); return false; list.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { System.out.println( change +newValue); list.setSummary(newValue.toString()); list.setValue(newValue.toString()); return false;