博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android:Preference、PreferenceActivity、设置列表
阅读量:6160 次
发布时间:2019-06-21

本文共 1595 字,大约阅读时间需要 5 分钟。

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, objValue)

             说明:  当Preference的元素值发送改变时,触发该事件。

             返回值:true  代表将新值写入sharedPreference文件中。

                     false 则不将新值写入sharedPreference文件

本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1218495,如需转载请自行联系原作者
你可能感兴趣的文章
好记心不如烂笔头,ssh登录 The authenticity of host 192.168.0.xxx can't be established. 的问题...
查看>>
使用addChildViewController手动控制UIViewController的切换
查看>>
Android Fragment应用实战
查看>>
SQL Server查询死锁并KILL
查看>>
内存或磁盘空间不足,Microsoft Office Excel 无法再次打开或保存任何文档。 [问题点数:20分,结帖人wenyang2004]...
查看>>
委托到Lambda的进化: ()=> {} 这个lambda表达式就是一个无参数的委托及具体方法的组合体。...
查看>>
apache 伪静态 .htaccess
查看>>
unity3d 截屏
查看>>
ASP.NET MVC学习之控制器篇
查看>>
MongoDB ServerStatus返回信息
查看>>
分析jQuery源码时记录的一点感悟
查看>>
android中的textview显示汉字不能自动换行的一个解决办法
查看>>
程序局部性原理感悟
查看>>
UIView 动画进阶
查看>>
ROS机器人程序设计(原书第2版)1.4.7 在BeagleBone Black中安装rosinstall
查看>>
Spring如何处理线程并发
查看>>
linux常用命令(用户篇)
查看>>
获取组件的方式(方法)
查看>>
win2008 server_R2 自动关机 解决
查看>>
我的友情链接
查看>>