第一步: 定义Activity 继承 PreferenceActivity 使用addPreferencesFromResource(R.xml.preferences); 显示 xml 第二步: 编写
目录 PreferenceActivity 负责加载选项列表界面布局文件 使用PreferenceActivity的步骤 PreferenceFragment 负责加载选项设置界面布局文件 使用PreferenceFragment...PreferenceActivity使用界面布局文件的方式是:重写PreferenceActivity.onBuildHeaders(List target)并在方法中调用loadHeadersFromResource...使用PreferenceActivity的步骤 1. 创建一个选项列表界面布局文件。...创建一个Activity并继承PreferenceActivity。 3....重写PreferenceActivity的onBuildHeaders方法并在方法中调用loadHeadersFromResource()方法加载布局文件。
spent the last few days learning about how to use the new Android PreferenceFragment which requires PreferenceActivity...Unfortunately, the documentation is not very clear how one would create a single PreferenceActivity that...android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceActivity...android.preference.PreferenceFragment; import android.preference.PreferenceManager; public class PrefsActivity extends PreferenceActivity
主要有PreferenceActivity,ListPreference,EditTextPreference,CheckBoxPreference,RingtonePreference...jason.demo; import android.os.Bundle; import android.preference.ListPreference; import android.preference.PreferenceActivity...* 例如可以通过getPreferenceManager获取首选项管理器 * 那,我们可不可以不继承PreferenceActivity呢?...当然了,如果我们不继承PreferenceActivity的话,那么我们就要手动的 * 对数据进行保存了。而不是跟现在一样,会自动的根据你的选择项进行数据保存。...*/ public class MyPreferencesActivity extends PreferenceActivity { @Override public void onCreate(Bundle
android给我们提供了PreferenceActivity来简化开发设置界面。...你仅仅需这样做: 1.创建一个类继承PreferenceActivity,并导入设置界面布局: package com.example.preferenceactivitydemo1; import...android.os.Bundle; import android.preference.PreferenceActivity; public class MainActivity extends PreferenceActivity
其实这篇博文在草稿箱里面也存了很久了,本来想着不发了,不过感觉PreferenceActivity在使用起来还是非常方便与实用的,再加上介绍PreferenceActivity的貌似不太多,还是发出来吧...通过使用该框架,能够确保应用程序中的PreferenceActivity与本地和其他第三方应用程序中所使用的一致。...当然,如果对PreferenceActivity深入研究起来还是有一定复杂度的,这里只介绍一些最常用的。 一、创建Preference Screen布局。 ...首先需要在xml文件中创建Preference Screen布局以供PreferenceActivity调用。与标准UI布局不同,首选项定义存储在res/xml资源文件夹中。...的子类 类似于创建一个Activity,可以通过继承PreferenceActivity创建一个其子类,并通过addPreferencesFromResource(R.xml.preference_activity
目录 目录 前言 PreferenceActivity preferences_scenario_1xml Preference Activity 演示 PreferenceFragment xml...---- PreferenceActivity 我们先通过一个简单的例子来学习一下PreferenceActivity的使用。...是用来呈现Preference Screens的,所以如果要支持Android3.0之前的系统,还是要继承PreferenceActivity类来呈现Preference Screens。...注意: PreferenceActivity的addPreferencesFromResource方法已经在Android3.0(API LEVEL 11)之后废弃了。...xml布局文件 xml文件我们可以复用上面PreferenceActivity的布局文件。
最后我在 Google Android 官网文档发现 PreferenceActivity 这神奇的类。 ?...1 介绍 PreferenceActivity 简单理解为是一个自带 SharedPreferences 的 Activity,用于做设置界面的类。...1)如果系统版本低于 Android 3.0 (API 级别 10),需要使用 PreferenceActivity。...3 扩展 ActivityPreference 类 一般的 Activity 通过调用 setContentView 来加载布局视图,而 PreferenceActivity 则例外。...SettingActivity 需要集成 PreferenceActivity。然后在 SettingActivity 中利用 AppCompatDelegate (代理)来操作。 ? ? ?
概述 Android SDK提供了更加方便的方法来实现配置界面,并且可以透明的保存配置信息,这就是PreferenceActivity....PreferenceActivity是Activity的子类,该类封装了SharedPreference,因此PreferenceActivity的所有子类都会拥有保存key-value的能力。...在PreferenceActivity中,所有的修改都会自动更新该XML文件,不需要我们手动去设置大量的监听。...PreferenceActivity提供了一些常用的控件,可以满足大多数配置界面的要求, PreferenceActivity既可以从xml文件中创建,也可以通过代码的方式创建。...PreferenceActivity在API11之后就废弃了,建议使用PreferenceFragment。
android的Setting往往用PreferenceActivity来写的 我们在建立layout文件: <PreferenceScreen xmlns:android="http://schemas.android.com...mutiTitle" /> 类的代码例如以下: public class Settings extends PreferenceActivity
但是,如果您拥有多组设置,则还可以使用 PreferenceActivity 为大屏幕创建双窗格布局。...当用户进行更改时,PreferenceActivity 会自动保留与每个 Preference 相关的设置。...您可以将PreferenceFragment 添加到任何 Activity,而不必使用 PreferenceActivity。...因此,我们建议您*尽可能使用PreferenceFragment 控制设置的显示,而不是使用 PreferenceActivity。...扩展 PreferenceActivity 类以托管设置。 实现 onBuildHeaders() 回调以指定标头文件。
展示中设置的值可以通过PreferenceManager.getDefaultSharedPreferences(context).来实现 【正文】 一、PreferenceFragment的引入: PreferenceActivity...Android专门为这种Activity提供了便捷的基类PreferenceActivity。...如果继承自Preference则不需要自己控制Preference的读写,PreferenceActivity会为我们处理一切。...PreferenceActivity与普通的Activity不同,它不是使用界面布局文件,而是使用选项设置的布局文件。...从Android 3.0以后官方不再推荐直接让PreferenceActivity加载选项设置布局文件,而是建议使用PreferenceFragment,二者用法类似。所以今天就来学习一下。
可以看到,设置的主界面是Settings.Java(package com.android.settings;), public class Settings extends PreferenceActivity...header的主标题,即在Settings主界面显示的文本:WLAN icon:header的图标,即显示在文本左侧的图标 分析这两个文件可以总结下Settings的布局,Settings主界面显示借助PreferenceActivity...Activity意为界面,preferenceactivity结合两者。...intent.setClass(this, SubSettings.class); return intent; } (4),onBuildHeaders方法,用来布局,以及更新headers,在PreferenceActivity...的oncreate()方法中被调用,以及onGetInitialHeader()方法,也是在PreferenceActivity的oncreate方法中被调用 @Override public
通常我们设置界面采用的是PreferenceActivity package me.imid.movablecheckbox; import android.os.Bundle; import... android.preference.PreferenceActivity; public class MovableCheckboxActivity extends PreferenceActivity...savedInstanceState); addPreferencesFromResource(R.xml.testpreference); } } 有关PreferenceActivity...; import android.app.Service; import android.content.Context; import android.preference.PreferenceActivity... } /** * Creates the View to be shown for this Preference in the * {@link PreferenceActivity
cipher.init(Cipher.ENCRYPT_MODE,keySpec); } 03、Fragment 注入攻击漏洞 Activity 可包含多个 Fragment 来展示界面,PreferenceActivity...当 PreferenceActivity 的 activity 是属性为 export,PreferenceActivity 不检查传入的参数直接根据其构建对象时,可以构造 intent 中的 extra...当 targetSdk 大于等于 19 时,强制实现了 isValidFragment 方法;小于 19 时,在 PreferenceActivity 的子类中都要加入 isValidFragment,
, “cmwap”, “cmwap”); } else { ret = conn.openConnection(mContext, “cmnet”, “”, “”); } } 13:PreferenceActivity...用法 public class Setting extends PreferenceActivity{ public void onCreate(Bundle savedInstanceState
//创建蓝牙开关控件 Switch actionBarSwitch = new Switch(activity); if (activity instanceof PreferenceActivity...) { PreferenceActivity preferenceActivity = (PreferenceActivity) activity; if...(preferenceActivity.onIsHidingHeaders() || !...preferenceActivity.onIsMultiPane()) { final int padding = activity.getResources().getDimensionPixelSize
Intent(this, EditPreferences.class)); } 就是在菜单里加一个prefs设置选项,点击它则启动定义的SharedPreferences设置界面,这个界面就直接继承PreferenceActivity...,可以方便高效的实现Preference的存储和管理.代码如下: public class EditPreferences extends PreferenceActivity { @Override
PreferenceFragment简述: 当我们在开发Android项目时一般都会用到首选项设置,在Android3.0之前我们都使用PreferenceActivity类来进行操作,这些设置习惯会被...PreferenceActivity和普通的Activity不同,他们不使用setContentView加载布局,而是加载选项设置布局,而选择设置布局是以PreferenceScreen作为根元素的xml...但在Android3.0之后Google不推荐我们使用PreferenceActivity来进行首选项设置,而是替换成了PreferenceFragment,其实二者的用法类似,只不过PreferenceFragment
4.1.3.6 防止PreferenceActivity中的Fragment注入 当从PreferenceActivity派生的类是公共活动时,可能会出现称为片段注入 [5] 的问题。...为了防止出现这个问题,有必要重写PreferenceActivity.IsValidFragment(),并检查其参数的有效性,来确保Activity不会无意中处理任何Fragment`。...|| PreferenceFragmentD.class.getName().equals(fragmentName); } 请注意,如果应用的targetSdkVersion为 19 或更大,不覆盖PreferenceActivity.isValidFragment...()将导致安全异常,并在插入Fragment时终止应用 [调用isValidFragment()时],因此在这种情况下,覆盖 PreferenceActivity.isValidFragment()是强制性的
领取专属 10元无门槛券
手把手带您无忧上云