PreferencesFromXml.java
SEE:
1.
addPreferencesFromResource(R.xml.preferences);
2.R.xml.preferences.XML
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="@string/inline_preferences">
<CheckBoxPreference
android:key="checkbox_preference"
android:title="@string/title_toggle_preference"
android:summary="@string/summary_toggle_preference" />
</PreferenceCategory>
<EditTextPreference
android:dialogTitle="@string/dialog_title_edittext_preference"
<ListPreference
android:entries="@array/entries_list_preference"
android:entryValues="@array/entryvalues_list_preference"
<PreferenceScreen
android:title="@string/title_intent_preference"
android:summary="@string/summary_intent_preference">
<intent android:action="android.intent.action.VIEW"
android:data="http://www.android.com" />
</PreferenceScreen>
<CheckBoxPreference
android:dependency="parent_checkbox_preference"
android:layout="?android:attr/preferenceLayoutChild"
SO:
具体的设置方法看代码
PreferenceDependencies.java
SEE:
1.R.xml.preference_dependencies
android:dependency="wifi"
SO:
完。。
DefaultValues.java
SEE:R.xml.default_values
1.
<CheckBoxPreference
android:defaultValue="true"
2.
<EditTextPreference
android:defaultValue="@string/default_value_edittext_preference"
3.
<ListPreference
android:defaultValue="@string/default_value_list_preference"
SO:
不同的Value设置。完。。。。
PreferencesFromCode
SEE:
1.
public class PreferencesFromCode extends PreferenceActivity {
2.
PreferenceCategory inlinePrefCat = new PreferenceCategory(this);
inlinePrefCat.setTitle(R.string.inline_preferences);
root.addPreference(inlinePrefCat);
3.
TypedArray a = obtainStyledAttributes(R.styleable.TogglePrefAttrs);
childCheckBoxPref.setLayoutResource(
a.getResourceId(R.styleable.TogglePrefAttrs_android_preferenceLayoutChild,
0));
a.recycle();
4.
inlinePrefCat.setTitle(R.string.inline_preferences);
5.
SO:
具体设置方法见代码。这里没有设置dependency 我设置了 parentCheckBoxPref.setKey("key1");
childCheckBoxPref.setDependency(parentCheckBoxPref.getKey());
都不行,奇怪。难道不可以从代码写,还是用XML好了。
AdvancedPreferences.java
SEE:
PreferenceManager.setDefaultValues(this, R.xml.advanced_preferences, false);
SO:
从XML中设置默认值,而不是布局。。。RI
SEE:
1.
public class AdvancedPreferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {
2.AdvancedPreferences.java
mCheckBoxPreference = (CheckBoxPreference)getPreferenceScreen().findPreference(
KEY_ADVANCED_CHECKBOX_PREFERENCE);
SO:
findViewById的PreferenceActivity版。。
SEE:
1.
mHandler.postDelayed(this, 1000);
2.
mForceCheckBoxRunnable.run();
3.
mHandler.removeCallbacks(mForceCheckBoxRunnable);
SO:
设置线程与运行。mHandler是控制的主线程,一秒后继续再次运行该Runnable,使用mHandler来取消。
SEE:
1.
getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
2.
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
SO:
设置Preference监听与取消监听
SEE:
1.preference_widget_mypreference.xml
<TextView
android:id="@+id/mypreference_widget"
android:focusable="false"
android:clickable="false"
2.MyPreference.JAVA
setWidgetLayoutResource(R.layout.preference_widget_mypreference);
3.MyPreference.JAVA
final TextView myTextView = (TextView) view.findViewById(R.id.mypreference_widget);
if (myTextView != null) {
myTextView.setText(String.valueOf(mClickCounter));
}
SO:
神奇的设置,这里的TextView是用来显示数字的那个,不是整个preference的布局
SEE: MyPreference.JAVA 自定义preference的方法 MARK
1.
!callChangeListener(newValue)
2.
persistInt(mClickCounter);
3.
notifyChanged();
4.
protected Object onGetDefaultValue(TypedArray a, int index) {
// This preference type's value type is Integer, so we read the default
// value from the attributes as an Integer.
return a.getInteger(index, 0);
}
5.
protected void onSetInitialValue(boolean restoreValue, Object defaultValue) {
6.
protected Parcelable onSaveInstanceState() {
7.
protected void onRestoreInstanceState(Parcelable state) {
8.
private static class SavedState extends BaseSavedState {
clickCounter = source.readInt();
dest.writeInt(clickCounter);
SO:
1.如果是invalid就不能改变。
2.保存值,
3.通知改变,观察者模式。
4.返回默认值
5.设置值的方法
6.有点扯不来了,这个是被临时破坏的时候,通过这个方法保存 同activity的那个。
7.回复值的时候调用
8.扯不来了,自己理解吧。。仿照下就好。。继承了该数据结构,外加一个附带的值就好。。
然后弄清楚读取和保存的地方就好。。
分享到:
相关推荐
《Android 2.2 ApiDemos深度解析》 在Android开发领域,ApiDemos是一个非常重要的参考资料,它是由Google官方提供的一个示例程序,包含了Android SDK中的各种API功能的演示。这个项目,针对的是Android 2.2(API...
**Android 6.0 API Demos详解** Android 6.0 API Demos 是一个官方提供的示例代码集合,它展示了Android 6.0 (Marshmallow) SDK中的各种API功能和用法。这些示例旨在帮助开发者更好地理解和学习如何在实际应用中...
API Demos 是 Google 为了 Android 开发者所提供的一个 Android API 合集,其中包含了很多的 API 范例,同时遵循了良好的代码规范,是一个值得开发者研究和学习的典型。android的ApiDemos,需要解压缩后使用。
《深入探索Android API Demos:最新实践与技术解析》 Android API Demos是Google官方提供的一款用于展示Android SDK中各种API功能和用法的应用程序,它涵盖了从基础控件到高级特性的全方位示例,是开发者学习...
《Android 1.6 API Demos深度解析》 在Android开发的世界中,API Demos是一个不可或缺的学习资源,它为开发者提供了丰富的示例代码,帮助理解并掌握Android API的各种功能。本篇文章将深入探讨"android1.6 apiDemos...
从官方预览包里提取的Android6.0 ApiDemos.apk,方便安装在真机上查看实例的实际效果。
《Android ApiDemos apk:深入理解Android应用开发的实践指南》 Android ApiDemos apk是Android开发者们熟悉的一个示例程序,它包含了Android SDK中的各种API功能演示,为开发者提供了丰富的学习资源。这个应用程序...
《Android 4.3 ApiDemos深度解析》 在Android操作系统的发展历程中,每个版本的更新都会带来新的特性和API,以提升用户体验和开发者的工作效率。Android 4.3(API级别18)是Android系统的一个重要里程碑,它引入了...
《深入解析Android 4.1 ApiDemos》 在Android开发领域,ApiDemos是一个非常重要的参考资料,它是由Google官方提供的示例代码集合,用于演示Android SDK中的各种API功能。对于开发者来说,尤其是对Android 4.1...
最新版ApiDemos Android SDK 中带有很多例子,其中ApiDemo 详细介绍了Android 平台主要API,分成了 · App · Content · Graphics · Media · OS · Text · Views 几个大类,每个大类又分为几个小类,...
Android 5.1的ApiDemos安装包
《Android 3.0 ApiDemos详解》 在Android开发领域,`ApiDemos`是一个非常重要的学习资源,它是Google官方提供的一款示例程序,包含了Android SDK中的各种API功能演示。这个项目主要用于帮助开发者理解并熟悉Android...
《Android ApiDemos详解——深度探索Android开发应用实例》 Android ApiDemos是Android开发者学习和理解Android API的重要资源,它包含了丰富的示例代码,涵盖了Android SDK中的各种API功能。这个程序是专为Android...
**Android ApiDemos详解** `Android ApiDemos` 是Android系统提供的一款官方示例程序,它集合了Android SDK中的各种API用法,是开发者学习和理解Android开发的关键资源。这个项目旨在通过实例代码来演示Android API...
Android官网ApiDemos源码 供大家学习参考之用
《Android API Demos详解》 Android API Demos是一款由谷歌官方提供的开源项目,它包含了大量Android SDK中的API示例代码,旨在帮助开发者更好地理解和学习如何在实际应用中使用Android的各种功能和API。该项目覆盖...
**Android ApiDemos详解** ApiDemos是Android官方提供的一款示例应用,它包含了Android SDK中的各种API功能演示,帮助开发者了解和学习Android系统提供的各种API接口和功能。这个"Android ApiDemos不报错版本"是...
《Android API 19 ApiDemos详解》 在Android开发领域,API Demos是一个非常重要的学习资源,它包含了Android SDK中的各种API示例代码,帮助开发者深入理解和掌握Android平台的功能特性。本文将针对API Level 19...
《Android ApiDemos不报错版本:探索与学习》 Android ApiDemos是Android平台上的一个官方示例项目,它为开发者提供了丰富的API演示,涵盖了Android系统中的各种控件和功能,是学习和理解Android开发的宝贵资源。这...