您的位置:首页 > 移动开发 > Android开发

Android设置Settings:PreferenceFragment【4】

2015-12-03 17:47 405 查看
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 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: