android PreferenceScreen使用笔记
16lz
2021-01-23
preference.xml
<?xml version="1.0" encoding="utf-8"?> android:entryValues="@array/my_array" android:key="list"/>
**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() {@Overridepublic boolean onPreferenceChange(Preference preference, Object newValue) {// TODO Auto-generated method stubeditTextPreference.setSummary(newValue.toString());editTextPreference.setDefaultValue(newValue);editTextPreference.setText(newValue.toString());return false;}}); list.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {@Overridepublic boolean onPreferenceChange(Preference preference, Object newValue) {System.out.println("change"+newValue);list.setSummary(newValue.toString());list.setValue(newValue.toString());return false;}}); }}