安卓首选项 PreferenceFragment相关问题
2015-11-19 12:00
162 查看
对Learning Android一书第89页的代码调试发现,PreferenceActivity类已经过时,网上推荐使用PreferenceFragment类。虽然两个类的方法类似,但是在使用过程中发现很多问题,总结如下:
第一次只是简单的将PreferenceActivity改为了PreferenceFragment,其余代码不变。
结果,程序可以成功在手机终端上运行但是点击菜单按钮后出现“prefs”,再点击它之后程序直接跳出,并没有出现
username
password
这样的界面,在网上找了关于PreferenceFragment相关的资料后将代码PrefsActivity类改为如下:
程序运行成功,如图所示:
此外在编写过程中注意需要将新增加的PrefsActivity类在AndroidManifest.xml文件中进行注册,否则编译无法通过。
添加与注册方式参见Learning Android一书第七章。
对Learning Android一书第89页的代码调试发现,PreferenceActivity类已经过时,网上推荐使用PreferenceFragment类。虽然两个类的方法类似,但是在使用过程中发现很多问题,总结如下:
第一次只是简单的将PreferenceActivity改为了PreferenceFragment,其余代码不变。
public class PrefsActivity extends PreferenceFragment { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.prefs); }</span>
结果,程序可以成功在手机终端上运行但是点击菜单按钮后出现“prefs”,再点击它之后程序直接跳出,并没有出现
username
password
这样的界面,在网上找了关于PreferenceFragment相关的资料后将代码PrefsActivity类改为如下:
import android.os.Bundle; import android.preference.PreferenceFragment; import android.app.Activity; public class PrefsActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); getFragmentManager().beginTransaction() .replace(android.R.id.content, new PrefsFragement()).commit(); } public class PrefsFragement extends PreferenceFragment { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.prefs); } } }
程序运行成功,如图所示:
此外在编写过程中注意需要将新增加的PrefsActivity类在AndroidManifest.xml文件中进行注册,否则编译无法通过。
添加与注册方式参见Learning Android一书第七章。
相关文章推荐
- 匿名函数自调用(IIFE)
- JS代码头像上传地址优化之6=2 和 代码扩展
- bootstrap3显示5列的方法
- jquery_DOM笔记2
- 移动HTML 5前端性能优化指南(转载)
- 可自动关闭的JS消息提示框
- JSP介绍,文件结构及执行过程
- CSS实现图片垂直居中
- js验证固定电话、手机号码
- 10招打通你的js任督二脉
- 基本的九宫格Css布局,用于圆角
- JSP语法概述
- HTML5应用程序缓存
- JS——特效秀
- (转)[开发笔记]-js判断用户的浏览设备是移动设备还是PC
- composer.json手记
- javascript中的后退和刷新
- jquery 中post 、get的同步问题
- javascript实现二级级联菜单的简单制作
- JSP内置对象