android PreferenceScreen使用笔记


preference.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <Preference android:title="基本信息"
        android:layout="@layout/text_view"></Preference> <!--自定义layout-->
    <CheckBoxPreference android:key="checkbox"
        android:title="性别"
        android:summary="男 ,女"/>
    <RingtonePreference android:key="ringtone"
        android:title="Ringtone Preference"
        android:showDefault="true"
        android:showSilent="true"
        android:summary="Pick a tone, any tone"/> 
<ListPreference android:summary="select a list"
    android:title="Type"
    android:entries="@array/my_array" <!--string-array-->
    android:entryValues="@array/my_array"
    android:key="list"/>
<EditTextPreference android:key="edit"
    android:dialogTitle="nihao"
    android:title="姓名"
    />

</PreferenceScreen>

**Activity.java

package com.lin.share;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.view.View;

public class TestPreferenctScreenActivity extends PreferenceActivity {
    /** Called when the activity is first created. */
    ListPreference  list;
    SharedPreferences prefs;
    EditTextPreference editTextPreference;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preference);
       prefs=PreferenceManager.getDefaultSharedPreferences(this);
        list=(ListPreference)findPreference("list");
        editTextPreference=(EditTextPreference)findPreference("edit");
        editTextPreference.setSummary(prefs.getString("edit","default"));
        
        editTextPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
			
			@Override
			public boolean onPreferenceChange(Preference preference, Object newValue) {
				// TODO Auto-generated method stub
				editTextPreference.setSummary(newValue.toString());
				editTextPreference.setDefaultValue(newValue);
				editTextPreference.setText(newValue.toString());
				return false;
			}
		});
        list.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
			
			@Override
			public boolean onPreferenceChange(Preference preference, Object newValue) {
				System.out.println("change"+newValue);
				list.setSummary(newValue.toString());
				list.setValue(newValue.toString());
				return false;
			}
		});
    }

	
}


  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值