您的位置:首页 > Web前端

用SharedPreferences做setting(设置界面)

2015-06-11 12:32 183 查看
界面布局用XML文件,


放在XML文件夹下,不是放在布局文件下。

下面来看看代码

<?xml version="1.0" encoding="utf-8"?>

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory
android:key="ordingspeech"
android:title="声音排序"
android:summary="请给声音排序"
>
<CheckBoxPreference
android:key="silentmode"
android:title="静音模式"
android:summary="除了铃声外,全部静音!"/>
<ListPreference
android:dialogTitle="震动"
android:key="vibrate"
android:title="震动"
android:entries="@array/vibaratelist"
android:entryValues="@array/vibaratelist"
android:summary="仅在静音模式下震动!"/>

</PreferenceCategory>
<PreferenceCategory
android:title="来电"
>
<RingtonePreference
android:title="手机铃声"
/>
</PreferenceCategory>
<Preference
android:title="其他"/>
<PreferenceScreen android:title="设置WiFi">
<intent
android:action="android.settings.SETTINGS"
/>
<EditTextPreference
android:title="请输入WiFi地址"
android:key="inputwifi" />
</PreferenceScreen>

</PreferenceScreen>


运行界面:



这里其实有一个PrefenceGroup,PreferenceScreen继承它



PreferenceScreen:用于显示一个布局,是所有子控件的父类。

PreferenceCategory:标签,相当于一组组件的标签,如:声音排序,来电

key:用来寻找组件的,在这里不可以用findID的方法,所以用key来存储,来寻找。



震动处有一个选择的,



用item存储在array中,

entries设置的内容是我们在设置时看到的内容,android:entryValues就是保存在preferences.xml中的值。

MainActivity:

package com.example.sharedpreferences_2;

import android.app.Activity;
import android.app.backup.SharedPreferencesBackupHelper;
import android.content.Context;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceActivity;
import android.test.PerformanceTestCase;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends PreferenceActivity{

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);

Preference pref= findPreference("silentmode");
pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {

@Override
public boolean onPreferenceClick(Preference preference) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, preference.getTitle(), 3000).show();
return true;
}
});
}

}


Preference pref= findPreference(“silentmode”);用这个来find key

pref.setOnPreferenceClickListener(new OnPreferenceClickListener()

用这个来设置监听,这里用的匿名内部类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: