1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
public
class
MainActivity
extends
PreferenceActivity
implements
OnSharedPreferenceChangeListener
{
@Override
protected
void
onCreate(Bundle savedInstanceState)
{
super
.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
addPreferencesFromResource(R.xml.mypreference);
}
@Override
//暂停的时候撤销选项
protected
void
onPause()
{
super
.onPause();
PreferenceManager.getDefaultSharedPreferences(
this
).unregisterOnSharedPreferenceChangeListener(
this
);
}
@Override
//恢复的时候注册选项监听
protected
void
onResume()
{
super
.onResume();
//两种方法,与注册所用方法效果一样
PreferenceManager.getDefaultSharedPreferences(
this
).registerOnSharedPreferenceChangeListener(
this
);
}
@Override
//监听设置
public
void
onSharedPreferenceChanged(SharedPreferences sp,
String key)
{
if
(key.equals(
"wifi_setting"
))
{
String bg_list = sp.getString(
"wifi_setting"
,
"nolink"
);
Log.e(
"wifi_setting"
, bg_list);
}
if
(key.equals(
"wifi_key"
))
{
boolean
wifi_key = sp.getBoolean(
"wifi_key"
,
false
);
Log.e(
"wifi_key"
, wifi_key +
""
);
}
}
@Override
public
boolean
onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.activity_main, menu);
return
true
;
}
}
|
注:
1.OnPreferenceChangeListener
Preference.OnPreferenceChangeListener 该监听器的一个重要方法如下:
boolean onPreferenceChange(Preference preference,Object objValue)
说明: 当Preference的元素值发送改变时,触发该事件。
返回值:true 代表将新值写入sharedPreference文件中。
false 则不将新值写入sharedPreference文件
本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1218495,如需转载请自行联系原作者