安卓首选项 PreferenceFragment相关问题

原创 2015年11月19日 12:00:18


对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一书第七章。


Android中Preference,preferenceActivity,PreferenceFragment等的使用

本文转自android 官方翻译过来的文本: 这里的话,只谈几个需要注意的问题: (1)这篇文章中也谈到的: 您必须将 XML 文件保存在 res/xml/ 目录中。尽管您可以随意命名该文件,但...
  • li12412414
  • li12412414
  • 2016年07月19日 20:14
  • 865

android之首选项相关 Preferences(一)

      最近学习android时发现,很多书上都介绍了preference首选项这个东西,但是大部分的书都是直接上来讲怎么用,对其的用途和来历都是只字不提,笔者本人对于这种做法是非常鄙视的。   ...
  • chenzheng_java
  • chenzheng_java
  • 2011年03月29日 14:23
  • 12389

Android 存储首选项SharedPreferences

Android中使用SharedPreferences存储比较少的配置信息(例如:记住密码、自动登录..) SharedPreferences使用的基本步骤: 声明SharedPreferences...
  • MAGIC_JSS
  • MAGIC_JSS
  • 2016年10月06日 17:37
  • 1788

首选项框架PreferenceFragment部分源码分析

因为要改一些settings里面的bug以及之前在里面有做过勿扰模式,准备对勿扰模式做一个总结,那先分析一下settings的源码,里面的核心应该就是android3.0 上面的首选项框架Pref...
  • dengliulin
  • dengliulin
  • 2015年03月18日 21:03
  • 964

Android数据存储之SharedPreferences 共享首选项/偏好设置

有些应用需要保存配置信息,如是否保存上次输入的用户名、密码等 Android针对这类应用提供了SharedPreferences, 适用于数据量少、数据以键值对保存的应用。   a、保存数据步...
  • weilexuexia
  • weilexuexia
  • 2016年03月03日 15:52
  • 865

Android - Shared Preference (分享首选项) 详解

Shared Preference (分享首选项) 详解 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24454963 ...
  • u012515223
  • u012515223
  • 2014年04月25日 10:59
  • 3450

Android学习记录:PreferenceActivity和PreferenceFragment,返回主界面

昨天学习android开发,创建菜单设置时遇到一系列问题,记录下来。 首先是PreferenceActivity的问题,刚开始按照教程建立了一个加载xml的类,继承自PreferenceActivit...
  • u013569148
  • u013569148
  • 2014年03月15日 11:11
  • 1130

Android中关于PreferenceFragment来设定设置页面的操作方法

SubMenu在没有接触PreferenceFragment之前一直是用的SubMenu方法。 SubMenu方法大家都知道,在实现这个子菜单的前提是要实现一个普通的Menu,就是实现一个onCre...
  • zhengshidao
  • zhengshidao
  • 2017年03月29日 19:52
  • 924

Android中Preference的使用以及监听事件分析 及 PreferenceFragment 的使用

转载:http://blog.csdn.net/qinjuning/article/details/6710003  在Android系统源码中,绝大多数应用程序的UI布局采用了Pr...
  • jimbo_lee
  • jimbo_lee
  • 2013年11月02日 17:19
  • 4574

PreferenceFragment 使用-> 自定义preferences的布局

PreferenceFragment 使用-> 自定义preferences的布局 1.***Fragment 继承 PreferenceFragment 2.重写 public...
  • crazyyangdan_
  • crazyyangdan_
  • 2016年04月20日 15:28
  • 1965
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:安卓首选项 PreferenceFragment相关问题
举报原因:
原因补充:

(最多只允许输入30个字)