iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android PreferenceActivity与PreferenceFragment详解及简单实例
  • 431
分享到

Android PreferenceActivity与PreferenceFragment详解及简单实例

Android 2022-06-06 05:06:08 431人浏览 薄情痞子
摘要

Android  PreferenceActivity与PreferenceFragment 前言 转来转去又回到了Android,闲话少说,这里是参考Android

Android  PreferenceActivity与PreferenceFragment

前言

转来转去又回到了Android,闲话少说,这里是参考Android原生的Settings应用来介绍一下PreferenceActivity、PreferenceFragment和headers的使用。

PreferenceActivity

我们先通过一个简单的例子来学习一下PreferenceActivity的使用。

preferences_scenario_1.xml

我们先通过xml文件来定义一个简单的preference界面,res/xml/preference_scenario_1.xml:


<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="Http://schemas.android.com/apk/res/android" >
  <PreferenceScreen
    android:summary="@string/next_screen_title"
    android:title="@string/next_screen_summary" >
    <CheckBoxPreference
      android:key="@+id/next_screen_checkbox_preference"
      android:summary="@string/checkbox_summary"
      android:title="@string/checkbox_title" />
  </PreferenceScreen>
  <PreferenceCateGory android:title="@string/category_title" 
    android:summary="@string/category_title">
    <CheckBoxPreference
      android:defaultValue="false"
      android:key="pref_otificationskey"
      android:title="@string/checkbox_title" >
    </CheckBoxPreference>
    <ListPreference
      android:entries="@array/people_name"
      android:entryValues="@array/people_value"
      android:key="pref_SyncFrequencykey"
      android:summary="@string/list_summary"
      android:title="@string/list_title" >
    </ListPreference>
  </PreferenceCategory>
</PreferenceScreen>

涉及到的string.xml内容如下:


<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="next_screen_title">下一屏选项</string>
  <string name="next_screen_summary">下一屏</string>
  <string name="checkbox_summary">我很帅</string>
  <string name="checkbox_title">我刷吗?</string>
  <string name="category_title">我喜欢</string>
  <string name="list_title">人名列表</string>
  <string name="list_summary">我喜欢的人名</string>
</resources>

Preference Activity

在Android3.0之前,PreferenceActivity是用来呈现Preference Screens的,所以如果要支持Android3.0之前的系统,还是要继承PreferenceActivity类来呈现Preference Screens。示例代码如下:


import android.os.Bundle;
import android.preference.PreferenceActivity;
public class CustomPreferenceActivity extends PreferenceActivity{
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preference_scenario_1);
  }
}

重写oncreate方法,并且调用addPreferencesFromResource方法来加载xml布局文件。

别忘了,需要在AndroidManifest.xml中声明这个CustomPreferenceActivity。

注意:

PreferenceActivity的addPreferencesFromResource方法已经在Android3.0(api LEVEL 11)之后废弃了。Android3.0之后,推荐使用PreferenceFragment来呈现Preference Screen。

演示

在其他activity里,可以通过startActivity来启动这个PreferenceActivity,演示图如下:

PreferenceFragment

xml布局文件

xml文件我们可以复用上面PreferenceActivity的布局文件。

Preference Fragment

示例代码如下:


import android.os.Bundle;
import android.preference.PreferenceFragment;
public class CustomPreferenceFragment extends PreferenceFragment{
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preference_scenario_1);
  }
}

Preference Activity管理Fragment

示例代码如下:


import android.os.Bundle;
import android.preference.PreferenceActivity;
public class CustomPreferenceActivity extends PreferenceActivity{
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    getFragmentManager().beginTransaction().replace(android.R.id.content, new CustomPreferenceFragment()).commit();
  }
}

适配

为了同时适配Android3.0之前之后的系统,我们可以通过Build.VERSION.SDK_INT在代码里自动判断来决定如何呈现Preference Screen。示例代码如下:


import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class CustomPreferenceActivity extends PreferenceActivity{
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
      addPreferencesFromResource(R.xml.preference_scenario_1);
    } else {
      getFragmentManager().beginTransaction().replace(android.R.id.content, new CustomPreferenceFragment()).commit();
    }
  }
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

您可能感兴趣的文章:Android Activity与Fragment之间的跳转实例详解Android中fragment与activity之间的交互(两种实现方式)Android Fragment与Activity之间的相互通信实例代码Android Activity与Fragment实现底部导航器Android中Fragment多层嵌套时onActivityResult无法正确回调问题的解决方法Android开发 Activity和Fragment详解Android应用开发中Fragment与Activity间通信示例讲解Android中Fragment与Activity的生命周期对比Android基础之Fragment与Activity交互详解Android 管理Activity中的fragmentsAndroid 中Fragment与Activity通讯的详解


--结束END--

本文标题: Android PreferenceActivity与PreferenceFragment详解及简单实例

本文链接: https://www.lsjlt.com/news/22777.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android中SharedPreference详解及简单实例
     Android中SharedPreference详解   SharedPreference是Android提供的一种轻量级的数据存储方式,主要用来存储一些简单的配置信息,例如,默认欢迎语,登录用户名和密码等。...
    99+
    2023-05-30
    android sharedpreference roi
  • Android Build类的详解及简单实例
    Android Build类的详解及简单实例一、类结构:java.lang.Object? android.os.Build...
    99+
    2023-05-30
    android build类 roi
  • java 爬虫详解及简单实例
    Java爬虫一、代码爬虫的实质就是打开网页源代码进行匹配查找,然后获取查找到的结果。打开网页:URL url = new URL(http://www.cnblogs.com/Renyi-Fan/p/6896901.html);...
    99+
    2023-05-31
    java 爬虫 ava
  • Kotlin 泛型详解及简单实例
     Kotlin 泛型详解概述一般类和函数,只能使用具体的类型:要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的约束对代码的限制很大。而OOP的多态采用了一种泛化的机制,在SE 5种,Java引用了泛...
    99+
    2023-05-31
    kotlin 泛型
  • Android Kotlin的使用及简单实例
    Android Kotlin的使用及简单实例写在前面的话,作为一个不熬夜的人,一觉醒来发现Kotlin成为了Android的官方语言,可谓是大喜过望。为了趁热打铁,我决定提前三天放出原定本周日Release的文章。希望能及时让大家了解一下K...
    99+
    2023-05-31
    android kotlin roi
  • 简单实现Android端搜索框示例详解
    目录正文一、效果展示二、快速使用及属性介绍快速使用具体代码主要方法介绍1、搜索框监听2、搜索列表点击事件3、改变最近(历史)搜索item背景4、动态设置热门搜索热度属性介绍Searc...
    99+
    2022-11-13
    Android端搜索框 Android 搜索框
  • java  StringBuilder类的详解及简单实例
     java  StringBuilder类的详解及简单实例实现代码:public class StringBuilderTest { public static void main(String[] args...
    99+
    2023-05-31
    java stringbuilder bs
  • java 中Collection存储器详解及简单实例
    本篇仅为了巩固一下基础,回忆一下存储的这两个常用的东东…一、Collection存储对象可以考虑:①数组②结合数组存储对象的特点:Student[] stu = new Student[20]; stu[0] = new Stutdent(...
    99+
    2023-05-31
    java collection ava
  • Android 简单跳转页面工具的实例详解
    事情起源 activity 或者 fragment 每次跳转传值的时候,你是不是都很厌烦那种,参数传递。 那么如果数据极其多的情况下,你的代码将苦不堪言,即使在很好的设计下,也会很蛋...
    99+
    2024-04-02
  • Android ViewFlipper的详解及实例
    Android ViewFlipper的详解前言:View Flipper,是ViewAnimator的子类,而ViewAnimator又是继承自FrameLayout,而FrameLayout就是平时基本上只显示一个子视图的布局,由于Fr...
    99+
    2023-05-30
    android viewflipper pp
  • Android WebView的详解及实例
    Android WebView的详解      Android WebView在android平台上是一个特殊的View, 他能用来显示网页,这个类可以被用来在你的app中仅仅显示一张在线的...
    99+
    2023-05-30
    android webview roi
  • JCrontab简单入门实例详解
    本文实例为大家分享了JCrontab简单入门,供大家参考,具体内容如下创建一个JavaWeb项目首先要下载JCrontab的相关jar包,Jcrontab-2.0-RC0.jar。放到lib文件夹下。 在src下新建文件jcron...
    99+
    2023-05-30
    jcrontab 入门实例 实例详解
  • Scrapy简单入门及实例讲解
    Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 A...
    99+
    2023-01-31
    实例 入门 简单
  • Android中Progress的简单实例
    Android中Progress的简单实例Android中Progress网上的demo都是瞎扯淡,当然,你们也可以认为我的demo是瞎扯淡,因为,毕竟要理解别人的思路,很头疼,主要还是知道思路,然后一步一步慢慢来。今天我讲的是Progre...
    99+
    2023-05-31
    android progress gr
  • Android 录音与播放功能的简单实例
     Android 录音与播放功能的简单实例最近在研究Android中一些常用的功能,像地图、拍照、录音和播放的实现等等,还有一些侧滑、动画等是如何实现的。今天就把录音和播放的实现分享一下,录音和播放比较简单,利用android内部...
    99+
    2023-05-31
    android 录音 播放
  • Android ViewPagerIndicator详解及实例代码
    Android ViewPagerIndicator详解及实例代码关于自定义View的属性零碎知识自定义View和自定义属性的知识不再此提及,这里着重说的是属性在自定义View中的获取方式,自定义的属性如下:<?xml ver...
    99+
    2023-05-31
    android viewpagerindicator age
  • springboot+dubbo+zookeeper的简单实例详解
    目录服务端消费端在dubbo-admin-0.0.1-SNAPSHOT.jar的路径下启动dubbo,java -jar dubbo-admin-0.0.1-SNAPSHOT.jar...
    99+
    2024-04-02
  • Android滚动菜单ListView实例详解
    本文实例为大家分享了Android使用ListView实现滚动菜单的具体代码,供大家参考,具体内容如下 说明:滚动菜单ListView及点击事件 代码结构: 1、创建一个list展示...
    99+
    2024-04-02
  • Gin与Mysql实现简单Restful风格API实战示例详解
    目录Itworksmain.go编译运行数据库CURD增删改查增 查查询列表Query查询单条记录QueryRow改删组织代码封装模型方法Handler函数组织项目数据库处...
    99+
    2024-04-02
  • Android 获取传感器列表整理及简单实例
    Android 获取传感器列表整理及简单实例Android 4.4 (API等级19)支持以下传感器:   TYPE_ACCELEROMETER 加速度传感器,单位是m/s2,测量应用于设备X、Y、Z轴上的加速度 ...
    99+
    2023-05-31
    android 传感器 roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作