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 extendsPreferenceFragment{@Overridepublic 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 {@Overrideprotected 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

更多相关文章

  1. android:屏幕自适应(转)
  2. Android(安卓)Compatibility Package
  3. Android(安卓)Studio Kotlin开发之ListView
  4. Android(安卓)Studio打包设置分支
  5. 【翻译】(25)ANDROID ATOMICS OPERATIONS
  6. Android平台mass storage相关代码
  7. Android图形报表之AchartEngine(附开发包+API文档)
  8. Android(安卓)特殊用法
  9. Android(安卓)Webview调用系统相册实现多选图片上传

随机推荐

  1. 关于android中sharedpreferences数据不更
  2. android面试题总结
  3. Android开发-直播视讯(3)-创建一个Ubuntu
  4. findViewById()返回布局XML中自定义组件
  5. 基于Android6.0的RIL底层模块分析
  6. 在Webview上加载脱机更新页面
  7. 如何使用java RESTful Web服务将通知推送
  8. Java项目无法通过BufferedWriter向服务器
  9. Android无法加载第三方so的解决方法
  10. Android 打包VersionCode自增、APK文件名