package com.llf.basemodel.commonactivity; import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceFragment; import android.preference.SwitchPreference; import android.widget.Toast; import com.llf.basemodel.R; /** * Created by llf on 2017/3/3. * blog.sina.com.cn/s/blog_84f040890101i06k.html * 通用的设置界面 */ public class SettingFragment extends PreferenceFragment implements Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener{ Preference article, news,clear, update; ListPreference editor; CheckBoxPreference picture; SwitchPreference download; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preference_setting); article = findPreference("article"); news = findPreference("news"); editor = (ListPreference)findPreference("editor"); picture = (CheckBoxPreference)findPreference("picture"); download = (SwitchPreference)findPreference("download"); clear = findPreference("clear"); update = findPreference("update"); article.setOnPreferenceClickListener(this); news.setOnPreferenceClickListener(this); clear.setOnPreferenceClickListener(this); update.setOnPreferenceClickListener(this); editor.setOnPreferenceChangeListener(this); picture.setOnPreferenceChangeListener(this); download.setOnPreferenceChangeListener(this); } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { switch (preference.getKey()) { case "editor": Toast.makeText(getActivity(), String.valueOf(newValue), Toast.LENGTH_SHORT).show(); break; case "picture": Toast.makeText(getActivity(), String.valueOf(newValue), Toast.LENGTH_SHORT).show(); break; case "download": Toast.makeText(getActivity(), String.valueOf(newValue), Toast.LENGTH_SHORT).show(); break; default: break; } //返回true将值插入sharedPreference return true; } @Override public boolean onPreferenceClick(Preference preference) { //得到的是最新的值 switch (preference.getKey()) { case "article": Toast.makeText(getActivity(), "文章更新", Toast.LENGTH_SHORT).show(); break; case "news": Toast.makeText(getActivity(), "消息推送", Toast.LENGTH_SHORT).show(); break; case "clear": Toast.makeText(getActivity(), "清除缓存", Toast.LENGTH_SHORT).show(); break; case "update": Toast.makeText(getActivity(), "版本更新", Toast.LENGTH_SHORT).show(); break; default: break; } return false; } }