`

动态的改变PreferenceActivity中 EditTextPreference,ListPreference的summary值

阅读更多
package com.xxxx.xxxx.activity;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceManager;
import android.preference.PreferenceScreen;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.EditTextPreference;
import android.util.Log;
import android.widget.Toast;

import com.xxxx.xxxx.R;
/**
 * 
 * 个人设置
 * 
 */
public class PreferenceActivity extends android.preference.PreferenceActivity implements OnPreferenceChangeListener
{
	private static final String TAG = "PreferenceActivity";
	private Context mCtx;

	private SharedPreferences mPreferences;

	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		addPreferencesFromResource(R.xml.preference);
		mCtx = this;
		mPreferences = PreferenceManager.getDefaultSharedPreferences(mCtx);
		
			
	}
                @Override
	public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference)
	{
		preference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
			
			@Override
			public boolean onPreferenceChange(Preference preference, Object newValue) {
				
				String key=preference.getKey();
				if(key.equals("editkey")){
					//动态改变summary的值			
					if(((String) newValue).trim().equals(""))
						preference.setSummary(R.string.xxxx);
		          	else
		          		preference.setSummary(getResources().getString(R.string.xxxx)+newValue);
					
				}else if(key.equals("listkey")){
					preference.setSummary(getResources().getString(R.string.xxxx)+newValue);
				}
				return true;
			
			}
			
		});
		
				return true;
	}
	
		
		

}

 

分享到:
评论

相关推荐

    Android软件开发之PreferenceActivity中组件的使用

    通过<EditTextPreference>标签定义,可以设置title(显示的文本)、summary、key以及对话框中的hint(输入提示)等属性。 5. **ListPreference**: 这个组件提供了一个下拉列表供用户选择。开发者可以预先定义好一...

    PreferenceActivity

    这个类使得开发者能够使用XML布局文件来定义各种偏好设置项,如开关、选择列表、输入框等,并将它们动态地加载到一个Activity中。在Android开发中,处理用户设置和首选项时,PreferenceActivity扮演着重要的角色。 ...

    Android之PreferenceActivity.doc

    开发者可以通过SharedPreferences接口来读取和修改PreferenceActivity中的设置值。 创建一个PreferenceActivity主要包括以下几个步骤: 1. 在Android项目的res/xml目录下创建一个新的XML文件,但选择的模板应为...

    android中PreferenceActivity详解

    标题与描述均提及了《Android中PreferenceActivity详解》,这一主题涉及了Android开发中关于用户偏好设置的核心组件——PreferenceActivity的深入解析。以下是基于标题、描述、标签以及部分内容的关键知识点总结,...

    PreferenceActivity存储小dome

    3. `ListPreference`的`entries`数组定义了显示在列表中的选项,而`entryValues`数组定义了与每个选项对应的值,这些值会在设置改变时被保存。 在老项目中回顾PreferenceActivity,意味着可能需要考虑兼容旧版本的...

    Android之PreferenceActivity简介

    由于其高度定制性和灵活性,PreferenceActivity在Android开发中被广泛应用。 #### 二、数据存储方式 PreferenceActivity中的数据存储主要依赖于 **SharedPreferences** ,这是一种轻量级的数据存储机制,适用于...

    Android至PreferenceActivity

    在PreferenceActivity中,可以通过实现`OnPreferenceChangeListener`接口来监听配置项的变化。 - **实现步骤**: 1. 在Activity中注册一个监听器。 2. 当配置项变化时,监听器会调用`onPreferenceChange`方法。 ...

    Android之PreferenceActivity应用详解

    包含`key`、`title`、`summary`、`dialogTitle`(对话框标题)、`entries`(显示在列表中的文本数组)和`entryValues`(实际值的数组)属性。 4. **PreferenceScreen**: 不是一个界面组件,而是一个容器,用于...

    Android软件开发11-12[整理].pdf

    在Android开发中,PreferenceActivity配合一系列的Preference子类,如CheckBoxPreference、EditTextPreference、ListPreference和RingtonePreference,可以轻松构建各种常见的设置选项。以下是对这些组件的详细介绍...

    Android PrefereceActivity实例

    `android:entries`属性定义可见的选项列表,`android:entryValues`则为每个选项对应的值,这些值会存储在SharedPreferences中。 在`PrefereceActivity`中,我们通常会通过XML布局文件定义`Preference`。例如,创建...

    android各种Preference的使用

    在Android开发中,Preference是用来构建用户界面中设置页面的关键组件,它允许用户通过简单的交互来改变应用的配置或设置。本篇文章将详细讲解如何在Android中使用各种类型的Preference,特别是ListPreference。 ...

    详解Android应用中preference首选项的编写方法

    在示例代码中,`MyPreferencesActivity`展示了如何创建和使用ListPreference,用户选择省份后,对应的值会保存在后台。 3. **EditTextPreference**:允许用户输入文本作为设置值,通常用于保存文本型的设置项。 4....

    详解Android首选项框架的使用实例

    2. ListPreference:ListPreference允许用户从预定义的列表中选择一个值。这适用于需要用户从多个选项中进行选择的情况,如语言设置或主题选择。 3. EditTextPreference:用于输入文本信息,例如用户名或者密码。...

Global site tag (gtag.js) - Google Analytics