Android中提供的Preference可以保存用户的喜好设置。在启明星安卓版员工通讯录里,有一个地方保存用户输入的URL就是用的Preference。

但是Preference默认显示的是Summary的值。我们希望他们可以显示用户输入的只。

先看一下效果:

如果用户未输入,这Summary提示让用户输入

如果用户输入了,这显示用户的输入值

要实现上面的功能,

(1)增加XML配置文件

<EditTextPreference
android:key="url"
android:title="please enter url" >
</EditTextPreference>

(2)执行OnSharedPreferenceChangeListener 接口

public class SettingsFragment extends PreferenceFragment   implements OnSharedPreferenceChangeListener {

    private EditTextPreference url;

    @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.c21preference); url = (EditTextPreference)getPreferenceScreen().findPreference("url"); } @Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
/* get preference */ if(key.equals("url"))
{
InitTextSummary();
}
} public void InitTextSummary()
{ if(url.getText().equals(""))
{
url.setSummary("请输入接口地址,例如 http://demo.dotnetcms.org/worklog/");
}
else
{
url.setSummary(url.getText());
}
} @Override
public void onResume() {
super.onResume(); InitTextSummary();
getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
} @Override
public void onPause() {
getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
super.onPause();
}

如此即可。

(3)获取用户的配置值

 public void Read(View view){
// SharedPreferences settings = getSharedPreferences("c21preference", MODE_PRIVATE);
// String txt=settings.getString("ringtone", "xxx");
// Toast.makeText(getApplicationContext(),txt, Toast.LENGTH_SHORT).show(); SharedPreferences settings=PreferenceManager.getDefaultSharedPreferences(this);
String txt=settings.getString("url", "xxx");
Toast.makeText(getApplicationContext(),txt, Toast.LENGTH_SHORT).show();
}

让Android Preference Summary中实时显示内容变更的更多相关文章

  1. Markdown中实时显示数学公式的方法

    Markdown中实时显示数学公式的方法 Markdown非常好用,但是对于数学公式的实时显示有一些缺陷,如何解决这一问题呢? 一.在线LaTex编辑 点击在线LaTeX编辑方式 在对话框中输入数学公 ...

  2. 【转】shell脚本中echo显示内容带颜色

    shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e.格式如下:   echo -e "\033[41;36m something here \033[0m&qu ...

  3. shell脚本中echo显示内容带颜色

    转自:http://www.cnblogs.com/lr-ting/archive/2013/02/28/2936792.html shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要 ...

  4. 【转】shell脚本中echo显示内容带颜色的实现方法

    shell脚本中echo显示内容带颜色的实现方法 shell脚本里使用echo输出颜色  

  5. 实时显示内容(Thread+Handler)

    class LocThread extends Thread{ @Override public void run() { while (true){ try { Thread.sleep(99); ...

  6. Android 6.0 中TimePicker显示为滚动样式的方法

    在Android6.0中,TimePicker控件的默认样式为转盘的样式,就像这个样子: 如果想要显示为之前的滚动样式的话也很简单,只要在布局文件中设置TimePicker的timePickerMod ...

  7. 【转】WriteMessage的信息在AutoCAD中命令行中实时显示

    之前程序中有段发送信息到命令行上显示的代码,如下:     ed.WriteMessage("开始标注横断面高程,请稍候!");     但是发现命令行中并不马上显示,代码也明明运 ...

  8. 为什么我的Android SDK Manager中只显示已安装的package?

    如图.在菜单packages中,前两项我都是选了的 . 两种可能: 1. 明显是楼主连不上谷歌的更新服务器了,换成国内的吧,左上Tools-->Options弹出的界面有两个可以填写的 ,下面一 ...

  9. shell脚本中echo显示内容带颜色显示

    格式如下 : echo -e "\033[41;36m something here \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 注: 1.字背景颜色和文 ...

随机推荐

  1. Going Home

    题意:n个人,进n个房子,每走一格花费1美元,每个房子只能进一人,求所有人进房子的最小花费.   就是推箱子 箱子最短行走距离 这题无法用bfs做 ! 用最小花费最大流 通过EK,Dinic,ISAP ...

  2. 005.MySQL双主-Master01可用配置

    [root@Master01 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_de ...

  3. JAVA-Exception&Error

    JAVA--Exception&Error 在万物皆对象的JAVA中,先让我们看看Exception和Error的地位吧:

  4. 错误跳转js

    <script type="text/javascript"> var t = 5; //倒计时的秒数 function showTime(){ document.ge ...

  5. Android Native层异步消息处理框架

     *本文系作者工作学习总结,尚有不完善及理解不恰当之处,欢迎批评指正* 一.前言 在NuPlayer中,可以发现许多类似于下面的代码: //============================== ...

  6. Codeforces Round #375 (Div. 2) F. st-Spanning Tree 生成树

    F. st-Spanning Tree 题目连接: http://codeforces.com/contest/723/problem/F Description You are given an u ...

  7. HDU 5839 Special Tetrahedron 计算几何

    Special Tetrahedron 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5839 Description Given n points ...

  8. Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem F. Turning Grille 暴力

    Problem F. Turning Grille 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed7f2c70 ...

  9. OpenJ_POJ C16D Extracurricular Sports 打表找规律

    Extracurricular Sports 题目连接: http://acm.hust.edu.cn/vjudge/contest/122701#problem/D Description As w ...

  10. RabbitMQ安装以及集群部署

    本次记录安装RabbitMQ的过程,只针对MAC下单机版安装.单机集群安装方法以及配置haproxy负载均衡. RabbitMQ单机版本安装 RabbitMQ单机集群安装方法(适合开发练习) Rabb ...