android 关于PreferenceActivity的简单实用

1.使用PreferenceActivity之前首先要创建一个.xml文件来填充它的设置界面

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- 设置系统铃声 -->
    <RingtonePreference
        android:key="ring_key"
        android:ringtoneType="all"
        android:showDefault="true"
        android:showSilent="true"
        android:summary="选择铃声(测试RingtonePreference)"
        android:title="设置铃声" >
    </RingtonePreference>

    <PreferenceCategory android:title="个人信息设置zu" >

        <!-- 通过输入框填写用户名 -->
        <EditTextPreference
            android:dialogIcon="@drawable/ic_launcher"
            android:dialogTitle="您所使用的用户名为:"
            android:key="name"
            android:summary="填写您的用户名(测试EditTextPreference)"
            android:title="填写用户名" />
        <!-- 通过列表框选择性别 -->
        <ListPreference
            android:dialogTitle="ListPreference"
            android:entries="@array/gender_name_list"
            android:entryValues="@array/gender_value_list"
            android:key="gender"
            android:summary="选择您的性别(测试ListPreference)"
            android:title="性别" />
    </PreferenceCategory>
    <PreferenceCategory android:title="系统功能设置组 " >
        <CheckBoxPreference
            android:defaultValue="true"
            android:key="autoSave"
            android:summaryOff="自动保存: 关闭"
            android:summaryOn="自动保存: 开启"
            android:title="自动保存进度" />
    </PreferenceCategory>

</PreferenceScreen>

上面中出现的key就相当于布局文件中的id


2.然后创建一个class继承PreferenceActivity

public class PreferenceActivityTest extends PreferenceActivity {
	@SuppressWarnings("deprecation")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		
		addPreferencesFromResource(R.xml.preferences);
		
		
		/*EditTextPreference etp = (EditTextPreference) findPreference("name");
		
		etp.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
			
			@Override
			public boolean onPreferenceChange(Preference arg0, Object arg1) {
				// TODO Auto-generated method stub
				
				Log.i("LogTest", arg1.toString());
				return true;
			}
		});*/
	}
}

3.程序运行界面


4.被设置的数据可以在其他地方访问

如:

String stringValue = PreferenceManager.getDefaultSharedPreferences(this)  
		        .getString("name", "");
就可以获取当前设置的姓名(”name“是 key);
<span style="white-space:pre">		</span>// EditTextPreference 中的值可以这样获取
		/*String stringValue = PreferenceManager
		   		.getDefaultSharedPreferences(this).getString("name", ""); 
		Log.i("LogTest", stringValue);*/
		 
		// ListPreference 中的值可以这样获取
		/*String stringValue = PreferenceManager
				.getDefaultSharedPreferences(this).getString("gender", "");
		Log.i("LogTest", stringValue);*/
		
		// CheckBoxPreference 中的值可以这样获取
		/*Boolean boolValue = PreferenceManager
				.getDefaultSharedPreferences(this).getBoolean("autoSave",true);
		Log.i("LogTest", boolValue+"");*/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值