http://blog.csdn.net/cz285933169/article/details/6528852
package com.scott.prefs;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceScreen;
import android.widget.Toast;
public class PrefsActivity extends PreferenceActivity implements Preference.OnPreferenceChangeListener {
private EditTextPreference nickName;
private ListPreference textSize;
private Preference cleanHistory;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.setttings);
nickName = (EditTextPreference) findPreference("nickName");
textSize = (ListPreference) findPreference("textSize");
cleanHistory = findPreference("cleanHistory");
//为nickName和textSize注册Preference.OnPreferenceChangeListener监听事件
//当值更改时我们可以立即更新summary
nickName.setOnPreferenceChangeListener(this);
textSize.setOnPreferenceChangeListener(this);
initSummary();
}
//初始化summary
private void initSummary() {
nickName.setSummary(nickName.getText());
setTextSizeSummary(textSize.getValue());
}
private void setTextSizeSummary(String textSizeValue) {
if (textSizeValue.equals("0")) {
textSize.setSummary("小");
} else if (textSizeValue.equals("1")) {
textSize.setSummary("中");
} else if (textSizeValue.equals("2")) {
textSize.setSummary("大");
}
}
/**
* 重写PreferenceActivity的onPreferenceTreeClick方法
* 在首选项被点击时 做出相应处理操作
*/
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
if (preference == cleanHistory) {
new AlertDialog.Builder(this)
.setTitle("清除历史记录")
.setMessage("是否真的要清除历史记录?")
.setPositiveButton("是", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//cleaning history...
Toast.makeText(PrefsActivity.this, "清除成功", Toast.LENGTH_SHORT).show();
}
}).setNegativeButton("否", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).create().show();
}
return true;
}
/**
* 重写Preference.OnPreferenceChangeListener的onPreferenceChange方法
* 当首选项的值更改时 做出相应处理操作
*/
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (preference == nickName) {
nickName.setSummary(newValue.toString());
} else if (preference == textSize) {
setTextSizeSummary(newValue.toString());
}
return true;
}
}
分享到:
相关推荐
初中语文文摘生活没甚不好意思
发错了不好意思额,各位谅解发错了不好意思额,各位谅解发错了不好意思额,各位谅解发错了不好意思额,各位谅解
一本令自己受益匪浅的书,在这里分享给大家,不收取积分,完全作为知识的传播者与大家进行分享(我只是知识的搬运工)
今天我们将深入探讨一款基于jQuery的Tab插件,尽管标题注明非原创,但它的实用性和灵活性使其在众多开发者中广受欢迎。遗憾的是,原作者信息已无法追溯,但我们仍可以从其功能和实现机制中学习到很多。 首先,...
尽管标签中只提到“不好意思”,这可能表示上传者对提供空压缩包的歉意,但在实际学习过程中,理解DHTML和JScript的重要性不容忽视。DHTML和JScript的结合使用,不仅让网页设计更加灵活,也为后来的AJAX...
数据传输采用非破坏性仲裁技术,确保总线在某一时刻只被一个主设备占用。 #### CAN总线电平和编码方式 CAN总线的数据传输采用不归零编码方式,即使用“显性”和“隐性”两种逻辑电平。在CAN总线中,“显性”通常由...
美团代付源码,不好意思问网恋对象要钱,这款系统帮你解决。 后台可以设置美团需要购买的东西和店铺名,余额直达个人账户!某宝一千多的源码搭建教程: ng 1.2 mysql 5.7 php 7.4 php安装拓展ionCube fileinfo opcache...
这个东西非常实用的,但是我想赚取你们的积分,所以不好意思啦
标题"纸牌游戏,不好意思上次传错版本了"以及描述"两个纸牌游戏完全不是一个,不好意思上次传错版本了 这次免费"暗示了我们正在讨论的是一个更新或修正后的版本,可能是一个多版本迭代的项目。C#是一种广泛用于开发...
网上找了好久也没有找到个中文版的,很是郁闷,最后干脆我自己做个汉化要点分不好意思啊,花了我半天的时间翻译,编译的,一点辛苦,有的地方,不一定通顺,但能看的懂了,谢谢了! MT_Syslog MT_Syslog.exe MT_...
首先,CRUD是数据库管理的核心操作,代表创建新记录、读取现有记录、更新已有记录以及删除记录。在.NET开发中,这些操作通常通过ADO.NET(.NET Framework的数据访问组件)或者更现代的Entity Framework来实现。ADO...
很简单,都不好意思发出来了,涉及到一点点的dos命令,给我同学试用的时候,他弄了半天都没能弄好。
实时跟踪网络摄像头中对象的水平和垂直位移。 将时间戳记x和y记录到可导入电子表格的逗号分隔值(.csv)文件中。... 要分析/ recorded /视频中的运动(非实时),您可能更喜欢PhysMo之类的东西,也是SourceForge项目。
这篇文档虽然标题为“那一天,他不好意思地笑了”,但其实内容是围绕垃圾分类这一技术主题展开的。垃圾分类是一项重要的环保行动,旨在减少环境污染,提高资源利用率。文档中的故事以一位高校教师王教授为主角,他在...
标题中的“没有测试就上全 不好意思 要删除不掉的”这句话,反映出在软件开发过程中一个至关重要的环节——测试,被忽视了。在IT行业中,测试是确保产品质量和稳定性的重要步骤,包括单元测试、集成测试、系统测试和...
這個裡面列出了常用的一些C/C++模板和API,有需要的拿來參考一下(不好意思,放了快捷方式,我又重新上传了)
在Linux系统中,Socket编程使用的是标准的Berkeley Socket API,这个API对所有支持POSIX的系统都是通用的。与Windows类似,Linux下的客户端和服务器程序也需要分别实现连接请求和监听响应。Linux提供了丰富的命令行...
修改为你的域名 二级域名以上都可以 不好意思 按错了 授权域名显示出来了 下面修改其他 数据库中的 setting 修改 填上自己的APPKEY 就行了 这样就行了 App Key:12024437 App Secret:a6fecdb4c68e7872a3a4f7bce...
为了让广大考生能够更好地应对写作题,开发出了一种“全国六级作文万能模板”,这种模板提供了一个基本框架,帮助考生在短时间内快速构建起一篇条理清晰、内容充实的文章。今天,我们将通过探讨“汽车对生活的影响”...
- `tryAcquire()`:非阻塞地尝试获取许可证,如果当前许可证数量大于0,则成功并返回,否则立刻返回false。 - `release()`:释放一个许可证,增加当前许可证数量,如果存在等待的线程,则唤醒一个。 - `...