Android设置Settings:PreferenceFragment【4】

简介: Android设置Settings:PreferenceFragment【4】最新的android谷歌官方设计文档指出,在后续的Android开发中,应尽量使用PreferenceFragment而不是PreferenceActivity,与时俱进,需要把过去的PreferenceActivity迁移到PreferenceFragment。
Android设置Settings:PreferenceFragment【4】


最新的android谷歌官方设计文档指出,在后续的Android开发中,应尽量使用PreferenceFragment而不是PreferenceActivity,与时俱进,需要把过去的PreferenceActivity迁移到PreferenceFragment。迁移其实比较简单,在附录的参考文章基础上,本文用PreferenceFragment替代一直使用的PreferenceActivity。

(1)以前写在PreferenceActivity里面的代码基本上可以原封不动的改造成PreferenceFragment。比如SettingsFragment.java:

package zhangphil.preferencefragment;

import android.os.Bundle;
import android.preference.PreferenceFragment;


public class SettingsFragment extends	PreferenceFragment{

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		addPreferencesFromResource(R.xml.preferences);
	}
}


res/xml目录下的preferences.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- 点击将浏览和打开网页 -->
    <Preference
        android:summary="访问 http://blog.csdn.net/zhangphil"
        android:title="浏览" >
        <intent
            android:action="android.intent.action.VIEW"
            android:data="http://blog.csdn.net/zhangphil" />
    </Preference>

</PreferenceScreen>


(2)然后在另外一个普通的activity中启动加载SettingsFragment.java:

package zhangphil.preferencefragment;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		getFragmentManager().beginTransaction()
				.replace(android.R.id.content, new SettingsFragment()).commit();
	}
}


这样项目中的代码结构变成如图所示形式:




代码运行结果:



相关文章和文档:
【1】《Android设置Settings实现:PreferenceActivity【1】》链接地址:http://blog.csdn.net/zhangphil/article/details/50154513 
【2】《Android设置Settings:预读取设置的选项和更新设置结果【2】》链接地址:http://blog.csdn.net/zhangphil/article/details/50154707 
【3】《Android设置Settings:ListPreference【3】》链接地址:http://blog.csdn.net/zhangphil/article/details/50154893
【4】Android谷歌官方Settings开发文档:http://developer.android.com/guide/topics/ui/settings.html 
相关文章
|
3月前
|
监控 安全 Android开发
【新手必读】Airtest测试Android手机常见的设置问题
【新手必读】Airtest测试Android手机常见的设置问题
|
7月前
|
数据库连接 数据库 Android开发
Android -- Room简化数据库设置图书案例
Android -- Room简化数据库设置图书案例
24 0
|
21天前
|
Java Android开发
Android系统 修改无源码普通应用为默认Launcher和隐藏Settings中应用信息图标
Android系统 修改无源码普通应用为默认Launcher和隐藏Settings中应用信息图标
54 0
|
21天前
|
存储 Java Android开发
Android系统 设置第三方应用为默认Launcher实现和原理分析
Android系统 设置第三方应用为默认Launcher实现和原理分析
49 0
|
7天前
|
Java Shell Android开发
Android11 有线网和wifi优先级设置
Android11 有线网和wifi优先级设置
12 0
|
8天前
|
Java Android开发
Android 设置系统时区的源码追踪
Android 设置系统时区的源码追踪
11 1
|
4月前
|
网络安全 Android开发
2023安卓逆向 -- 抓包环境设置(Charles+Postern)
2023安卓逆向 -- 抓包环境设置(Charles+Postern)
48 0
|
9月前
|
XML Android开发 数据格式
Android中利用shape属性自定义设置Button按钮
Android中利用shape属性自定义设置Button按钮
149 0
|
5月前
|
XML 数据库 数据安全/隐私保护
Android App规范处理中版本设置、发布模式、给数据集SQLite加密的讲解及使用(附源码 超详细必看)
Android App规范处理中版本设置、发布模式、给数据集SQLite加密的讲解及使用(附源码 超详细必看)
45 0