问题标签 [preferenceactivity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4948 浏览

android - 无法访问 PreferenceActivity 创建的首选项

我有一个最小的程序,它只是让我使用 Android 的PreferenceActivity. 所以我有一个定义我的偏好的 xml 文件,以及一个扩展PreferenceActivity. 我的主要活动有一个选项菜单,可以启动我的偏好活动。所有这些都很好。我可以设置我的偏好,并且在我的程序执行期间和之后保留这些值。

现在,在我的主要活动中,我想检索这些偏好。应该很容易吧?这是我见过的每个示例的代码:

问题是,如果我在getInt()通话中中断并跳过,我的堆栈看起来像这样,如果我继续,应用程序将崩溃:

线程 [<3> main] (Suspended)
ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord, Intent) 行:2494
ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord, Intent) 行:2512
ActivityThread.access$2200(ActivityThread, ActivityThread$ActivityRecord, Intent) 行: 119
ActivityThread$H.handleMessage(Message) 行: 1863
ActivityThread$H(Handler).dispatchMessage(Message) 行: 99 Looper.loop() 行: 123
ActivityThread.main(String[]) 行: 4363 Method.invokeNative( Object, Object[], Class, Class[], Class, int, boolean) line: 不可用 [native method] Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() 行:860 ZygoteInit.main(String[]) 行:618 NativeStart.main(String[]) 行:不可用 [本机方法]

我尝试了传递给 getDefaultSharedPreferences() 的参数的变体,包括:

...以及可能在不同上下文中的其他一些人(即,当从我的主要活动与另一个活动与不是活动的类中的某些功能访问首选项时。结果总是相同的。

我已经在网上阅读了十几个有这个问题的人的问答帖子,他们通过编写与我相同的代码解决了这个问题,所以我不希望有解决方案,但如果有人有任何想法,请告诉我。

0 投票
1 回答
2372 浏览

android - Android PreferenceActivity 跨应用程序创建 MODE_WORLD_WRITEABLE 首选项

我有多个应用程序通过首选项共享某些数据。每个应用程序都通过 PreferenceActivity(来自 xml)设置其首选项。两个问题:

如何在另一个应用程序中使用/编辑由一个应用程序创建的首选项。如果我弄清楚如何使用 PreferenceActivity 创建 MODE_WORLD_WRITEABLE 首选项,这将解决问题。

上面的代码返回 {}

  • 其次,如何使用 addPreferencesFromIntent(i) - 即使意图不是 Null,我也会收到 NullPointerException。

我在这里先向您的帮助表示感谢。

最好的,萨米尔

0 投票
2 回答
2198 浏览

android - PreferenceActivity 中的 Toast 显示较晚

我想在用户单击我的 PreferenceActivity 中的 CheckBoxPreference 后立即显示 Toast。

我也尝试将 Toast 放入 doSomething() 方法中,但它总是整个方法处理完毕后显示。我试过getBaseContext()代替Prefs.this,但没有帮助。知道为什么 Toast 没有立即出现以及如何让它出现吗?

0 投票
1 回答
1313 浏览

android - Android:PreferenceActivity:为什么对存储的首选项值的这种“简单”逻辑检查不评估?

按照 Professional Android 2 Application Development 的示例,我设置了一个 pref 类,如下所示:

在我的活动课上:

问题在这里:

它可以工作,但是如果我将速度模式切换到 KPH(默认为 MPH),则显示不再更新。

令人困惑的是,即使使用 Eclipse 调试器将 SpeedMode 显示为“MPH”或“KPH”,if 语句也不会执行。

这是其余的代码:

谢谢

0 投票
1 回答
4921 浏览

android - 覆盖android偏好活动中的点击

在我的应用程序中,我想在我的应用程序中使用某个偏好时显示警告。我尝试使用 PreferenceActivity.onPreferenceTreeClick 和 onPreferenceClickListener,但似乎都不起作用。我在下面有后一个例子。任何人都可以对此有所了解吗?

0 投票
6 回答
43357 浏览

android - PreferenceActivity:将值保存为整数

EditTextPreference在我的偏好活动中使用简单的:

有没有办法将此配置值保存为整数?现在似乎它只允许输入数字,但该值仍保存为字符串:

来电:

抛出我java.lang.ClassCastException: java.lang.String,并且:

成功检索值。

默认情况下如何PreferenceActivity将值保存为整数?

0 投票
3 回答
4499 浏览

android - Android:如何在首选项屏幕中使用按钮

我想在 PreferenceActivity 中提供一个按钮。用户应该能够设置时间(例如通过 TimePicker),但没有 ButtonPreference 或类似的东西。我不想使用 EditTextPreference。

那么我是否必须在 PreferenceActivity 中使用默认按钮并手动保存设置?

问候,

科迪

0 投票
2 回答
877 浏览

android - 将 EditTextPreference 绑定到给定的首选项文件 (getSharedPreferences)

这里有两个活动,A 和 B。A 是主要活动,B 是 PreferenceActivity 和两个 EditTextPreference。

我希望能够从活动 A 访问 B 生成的首选项,为此我当然需要(我猜)A 上的 getSharedPreferences。但为了做到这一点,我需要为生成它的活动提供首选项文件. 这是乏味的(长名称),充其量是不稳定的(取决于生成它的活动),最后是一团糟,因为最好将所有内容保存在一个 xml 文件中,并使用我所有活动都熟知的名称. 此外,如果我有 100 个活动,我将如何跟踪首选项文件......

所以重点是:我如何“绑定”一个 EditTextPreference 以对给定的首选项文件进行更改,而不是 Android 自动生成的文件

0 投票
2 回答
2178 浏览

android - Android:CheckboxPreferences 的作用类似于 RadioButtons

我的偏好屏幕中有四个复选框偏好,我想像单选按钮组一样进行交互,这意味着您只能选中其中一个!如果让我们说第一个已选中,而您想检查另一个,则它只是选中的所需的一个,而其他的未选中。

0 投票
1 回答
3241 浏览

android - 如何使 PreferenceActivity 中的 SharedPreferences 在 Android 中设置为默认值?

我为 PreferenceScreen 创建了一个基于 xml 的 PreferenceActivity。在 xml 中,您可以将默认值分配给不同的首选项。但是在打开和关闭屏幕之前,这些并没有存储在我的 SharedPreferences 中。

问题是我想立即使用存储在此屏幕中的首选项(如服务器地址),用户只需在想要更改默认值时打开它。

有没有办法在不强制用户打开和关闭首选项活动的情况下存储来自首选项屏幕 xml 的所有首选项?

我知道您可以在从 SharedPreferences 检索 Preference 时提供默认值,但是必须在 xml 和代码中维护默认值是愚蠢的。