PreferenceFragment 使用 小结

PreferenceFragment 使用 小结Perference 也就是我们常说的偏好设置 首选项设置 能够自己主动保存一些数据 比如我们在上一次使用的时候的一些内容 则在下一次启动后依旧生效 而不须要再进行配置 当用户改变设置时 系统就会更新 SharedPrefer 文件里相应的值 perference 使用键值对的方式来处理 在 android3 0 之前 我们一般去继承 Preference 这个基类 去给用户呈现一个

       Perference也就是我们常说的偏好设置,首选项设置,能够自己主动保存一些数据,比如我们在上一次使用的时候的一些内容,则在下一次启动后依旧生效,而不须要再进行配置。当用户改变设置时,系统就会更新SharedPreference文件里相应的值。perference使用键值对的方式来处理,在android3.0之前,我们一般去继承Preference这个基类,去给用户呈现一个能够设置的界面,当中的layout须要自己编写,而在3.0之后,使用的是碎片技术的首选项配置方法,即 使用PreferenceFragement来实现。

+++++++++++++++++++++++++++++++++++=

 

为了从一个XML文件里获取界面,使用addPreferenceFromResource(int)方法。根元素应该使用PreferenceScreen在层次结构中随后的PreferenceScreen将导致屏幕切割处。

 

为了指定一个意图来查询都带有各自首选项的activitiy,使用addPreferenceFromIntent方法。每一个activity能够在manifest文件里指定meta-data来指向一个XML文件资源。这些资源文件将被填充到单独的首选项层次结构而且通过这个fragment来展示。

 

为了指定一个以PreferenceScreen为根元素的对象,使用setPreferenceScreen(PreferenceScreen)方法。

+++++++++++++++++++++++

方便起见,这个fragment实现了一个用于当前层次结构中随意首选项的点击事件监听器,

onPreferenceTreeClick(PreferenceScreen,Preference).

—————————————————————————————————————————————-

 

    使用PreferenceFragment 的一个样例,效果与之前使用继承PreferenceActivity差点儿相同,过程例如以下:

1.创建一个project,在MainAcitivity中 加入菜单button 及 相应效果

——————————  cut here  ———————————–


2.在res目录以下新建一个xml目录,在里面新建一个preferences.xml文件

——————————  cut here  ———————————–


     

      
         

           

                android:key=”checkbox_preference”  

                android:summary=”这是一个复选框”  
                android:title=”复选框设置” />  
       




 
        
         

           

                android:dialogTitle=”请输入你最喜欢的种族”  

                android:key=”edittext_preference”  
                android:summary=”一个使用了编辑文本对话框的样例”  
                android:title=”请输入你最喜欢的种族” />  
      
                            android:dialogTitle=”请选择一项”  

                android:entries=”@array/cities”  
                android:entryValues=”@array/airport_codes”  
                android:key=”list_preferenc”  
                android:summary=”一个使用了列表对话框的样例”  
                android:title=”请选择一项” />  
       












 
        
           

           
 
                            android:key=”screen_preference”  

                android:summary=”展示还有一个首选项配置页面”  
                android:title=”页面首选项” >   
               
 
               

                    android:key=”next_screen_checkbox_preference”  

                    android:summary=”在还有一个页面展示但出于同一个层级的首选项配置”  
                    android:title=”复选框设置” />  
           







 
                            android:summary=”从一个意图中启动一个activity”  

                android:title=”意图首选项” >  
               

                    android:action=”android.intent.action.VIEW”  

                    android:data=”http://www.baidu.com” />  
           




 
       



 
        
         

           

                android:key=”parent_checkbox_preference”  

                android:summary=”这是一个可见的父类”  
                android:title=”父类复选框首选项” />  
           
 
           

                android:dependency=”parent_checkbox_preference”  

                android:key=”child_checkbox_preference”  
                android:layout=”?android:attr/preferenceLayoutChild”  
                android:summary=”这是一个可见的子类”  
                android:title=”子类复选框首选项” />  
       











 
      
   









 

 

 ——————————  cut here  ———————————–






3、FragmentPreferences.java的代码部分

 ——————————  cut here  ———————————–

    package com.example.fragementexam;  
      
    import android.app.Activity;  
    import android.os.Bundle;  
    import android.preference.PreferenceFragment;  
      
    public class FragmentPreferences extends Activity {  
        @Override  
        protected void onCreate(Bundle savedInstanceState) {  
            // TODO Auto-generated method stub  
            super.onCreate(savedInstanceState);  
            getFragmentManager().beginTransaction().replace(android.R.id.content, new PrefsFragement()).commit();  
        }  
          
          
        public static class PrefsFragement extends PreferenceFragment{  
            @Override  
            public void onCreate(Bundle savedInstanceState) {  
                // TODO Auto-generated method stub  
                super.onCreate(savedInstanceState);  
                addPreferencesFromResource(R.xml.preferences);  
            }  
        }  
    }  
 ——————————  cut here  ———————————–

 

大致对PreferenceFragment的学习使用就是这样,以后在高版本号上面开发的时候能够考虑这样的方式






























转载于:https://www.cnblogs.com/zfyouxi/p/4069026.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227877.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午8:19
下一篇 2026年3月16日 下午8:19


相关推荐

  • 12306可以设置抢票吗_抢票软件哪个成功率高

    12306可以设置抢票吗_抢票软件哪个成功率高#-*-coding:utf-8-*-importrequestsimportreimportbase64fromcodesimportappimportjsonimporturllib.parseimporttimeimportdatetimesession=requests.Session()headers={‘User-Agent’:’Moz…

    2025年12月12日
    3
  • Android性能优化的5种方案

    Android性能优化的5种方案量化性能的指标有很多 但最重要的就是以下 5 种 优化性能就是可以从以上 5 点入手 顾名思义就是减少 apk 包体积大小 apk 大小主要取决于 res 下的资源文件 class 文件 具体优化措施有 对用户来说 响应时间自然越短越好 响应时间越短 操作也就越顺畅 响应速度包括启动速度 点击 APP 按钮到 APP 首页完全打开的过程尽可能快 页面响应速度 用户执行点击 滑动等操作后 页面能快速响应 APP 不能产生卡顿 更不能出现 ANR 具体优化措施有 减少内存的使用 主要是避免创建过多对象占用过多内存 避免内存抖动以及避免内

    2026年3月16日
    3
  • 怎么新建pytest的ini文件_qt读写配置文件

    怎么新建pytest的ini文件_qt读写配置文件前言pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行查看pytest.ini的配置选项pytest-h找到以下

    2022年8月6日
    10
  • 工作笔记

    工作笔记

    2021年11月29日
    42
  • 《几何与代数导引》习题1.25.5——Lagrange恒等式

    《几何与代数导引》习题1.25.5——Lagrange恒等式Lagrange恒等式:$$(\vec{a}\times\vec{b})\cdot(\vec{c}\times\vec{d})=(\vec{a}\cdot\vec{c})(\vec{b}\times\vec{d})-(\vec{b}\cdot\vec{c})(\vec{a}\cdot\vec{d})$$证明:令$\vec{a}=(a_1,a_2,a_3)$,$b=(b_1,b_2,b_3)$,…

    2025年6月21日
    7
  • PotPlayer 旋转视频【快捷键:Alt + K 循环旋转】

    PotPlayer 旋转视频【快捷键:Alt + K 循环旋转】(1)视频->图像旋转->旋转xx°(2)PotPlayer旋转视频—【快捷键:Alt+K循环旋转】

    2022年5月21日
    191

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号