recycleしすぎてた?
[ofnhwx.olib.git] / src / jp / gr / java_conf / ofnhwx / olib / base / BasePreferenceActivity.java
blob7bd18192e6b8ab41e9efdc304ee7ba0a08d02a2f
1 package jp.gr.java_conf.ofnhwx.olib.base;
3 import android.content.SharedPreferences;
4 import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
5 import android.os.Bundle;
6 import android.preference.CheckBoxPreference;
7 import android.preference.Preference;
8 import android.preference.PreferenceActivity;
10 /**
11 * {@link PreferenceActivity}のもと.
12 * @author yuta
14 public abstract class BasePreferenceActivity extends PreferenceActivity {
16 OnSharedPreferenceChangeListener listener = null;
18 @Override
19 protected void onCreate(Bundle savedInstanceState) {
20 super.onCreate(savedInstanceState);
21 if (this instanceof OnSharedPreferenceChangeListener) {
22 listener = (OnSharedPreferenceChangeListener)this;
26 @Override
27 protected void onResume() {
28 super.onResume();
29 if (listener != null) {
30 SharedPreferences preferences = getPreferenceScreen().getSharedPreferences();
31 preferences.registerOnSharedPreferenceChangeListener(listener);
35 @Override
36 protected void onPause() {
37 super.onPause();
38 if (listener != null) {
39 SharedPreferences preferences = getPreferenceScreen().getSharedPreferences();
40 preferences.unregisterOnSharedPreferenceChangeListener(listener);
44 public void setChecked(int key, boolean checked) {
45 CheckBoxPreference preference = findPreference(key);
46 preference.setChecked(checked);
49 @SuppressWarnings("unchecked")
50 public <T extends Preference> T findPreference(String key) {
51 return (T)super.findPreference(key);
54 public <T extends Preference> T findPreference(int key) {
55 return findPreference(getString(key));