Articles of android preferences

如何在Android中模拟PreferenceManager?

我编写了一个使用Context ,第三方库和PreferenceManager SharedPreferences 。 可以模拟Context ,第三方库可以使用一些模拟框架进行模拟,但是如何处理PreferenceManager ? 我有两种方法: public void saveString(ThirdPartyObject obj) { SharedPreferences appPreferences = PreferenceManager.getDefaultSharedPreferences(mContext); SharedPreferences.Editor editor = appPreferences.edit(); editor.putString(mContext.getString( R.string.preferences_string_name), obj.getString()); editor.commit(); } 和相应的,加载首选项。

从首选项XML文件启动位置设置意图

我想从Intent启动System的位置设置。 我以编程方式知道它是这样的 Intent viewIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(viewIntent); 但我需要从Preference的XML中做到这一点。 我试试这个 但它不起作用,我总是得到一个ActivityNotFoundException 。 如何从XML Intent启动系统位置设置?

首选项屏幕显示文本块

我正在尝试创建一个只有关于,联系和合法选项的首选项屏幕,所有这些选项在单击时只显示单独页面中的文本模糊和图标,没有shared preferences或任何内容。 我无法理解层次结构以显示文本。 我希望流程为: settings -> about -> the about text 目前我有这个,它给了我类别和选项,但我不知道该怎么做才能显示新文本。 … 我不知道使用什么选项来使可点击进入textview。

自定义首选项,targetSdkVersion =“11”:缺少缩进?

我有几个自定义的DialogPreference实现,例如这个 : package apt.tutorial; import android.content.Context; import android.content.res.TypedArray; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; import android.preference.DialogPreference; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.view.ViewParent; import android.widget.TimePicker; public class TimePreference extends DialogPreference { private int lastHour=0; private int lastMinute=0; private TimePicker picker=null; public static int getHour(String time) { String[] pieces=time.split(“:”); return(Integer.parseInt(pieces[0])); } public static int getMinute(String […]

如何在Xml中定义一个值为整数的Android ListPreference?

是否可以在Xml中定义ListPreference并使用getInt从SharedPreferences中检索值? 这是我的Xml: 我希望得到的值类似于:int val = sharedPrefs.getInt(key,defaultValue)。 目前我必须使用getString并解析结果。

SharedPreferences.getInt()导致ClassCastException – 为什么?

我在首选项XML中定义了一个简单的(非用户可编辑的)数字设置,如下所示: 我用这个简单的陈述读了它: sharedPrefs.getInt(getString(R.string.numeric_val), 3) 它可以工作,但是当我尝试阅读它时, 在应用程序安装后第一次生成ClassCastException 。 文档说getInt() “如果存在这个名称不是int的首选项,则抛出ClassCastException。” – 我知道这个首选项被明确定义为 (一个字符串?)但是,如果这是exception的原因,我应该如何使用SharedPreferences.getInt() ? 我知道我可以使用SharedPreferences.getString()然后自己进行解析/转换,但那么SharedPreferences.getInt()的目的是什么?

如何在PreferenceScreen中更改字体大小

我需要更改android:title字体大小的PrefereceCategory , CheckboxPreference和android:summary大小。 这些标签没有任何android:textSize属性。 任何人都可以帮我解决这个问题吗?

首选项支持库 – SwitchPreference无法正常工作

几天前,Google推出了Preference Support Library ( Link )。 我刚刚尝试在我的应用程序中实现它,虽然看起来它不适用于SwitchPreferences这很奇怪,因为Google表示我们可以像以前一样使用相同的XML文件,而且明确表示现在所有API 7+都可以使用SwitchPreferences设备。 报价( 来源 ) […]并使用相同的首选项XML文件( http://goo.gl/wOcIxI )添加首选项,同时向所有API 7+设备添加对SwitchPreference等元素(以前仅在API 14+设备上可用)的支持。 […] 错误信息 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.my.package/com.my.package.Main}: android.view.InflateException: Binary XML file line #4: Error inflating class (not found)SwitchPreference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at […]

如何动态创建Android首选项?

下面的模型可能比单词解释得更好。 基本上,我想要一个列表,用户可以动态添加/删除项目,每个项目都有可配置的设置屏幕。 所以这里有两个关键: 添加到主要首选项屏幕 按下某个项目时启动activityForResult。 此活动将显示另一个首选项视图(滑块,checkbox等),用户可以在其中操作这些视图,然后返回要存储在数据结构中的新值。 图片:

在android中有任何方法可以在卸载后保留SharedPreferences

我在SharedPreferences保留了一些应用程序元数据。 每当我卸载应用程序并重新安装它时,都会删除SharedPreferences 。 有没有办法让它保留下来,这样如果用户进行卸载并重新安装,他们可以恢复旧数据?