问题标签 [preferencefragment]

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 回答
5759 浏览

android - 具有自定义布局的 SwitchPreference 侦听器

我试图在我的设置页面中使用 SwitchPreference,但我无法让监听器工作。我正在使用自定义小部件布局来设置开关的样式,因为我找不到如何使用主题来实现这一点。在我的 settings.xml 中,我有以下内容:

我的 SettingsFragment 看起来像:

和我的开关的自定义布局:

我遇到的问题是,当我单击开关时,不会调用侦听器。有谁知道为什么以及如何解决它?

0 投票
1 回答
2657 浏览

android - Android PreferenceFragment 未找到片段 id 的视图

所以我正在制作一个 android 应用程序并开始处理首选项,当我简单地使用 PreferenceActivity 时,一切正常,但是,如果我将它与 PreferenceFragment 一起使用,它会在我单击调用意图的按钮后立即崩溃 SettingsActivity 与一个错误:

这是设置活动:

R.id.pager 只是一个简单的 viewPager 布局:

我的偏好xml:

我对android还是很陌生,所以任何帮助都会很棒!谢谢!!

编辑: 在正确答案的评论中解决了问题

0 投票
2 回答
393 浏览

java - 铃声偏好根本没有触发任何东西

我有一个 RingtonePreference 嵌套在 2 PreferenceScreen 声明为:

PreferenceFragment 嵌套在 ActivityGroup 中。片段的路径如下:MainActivity(TabActivity)->Activity1(ActivityGroup)->Activity2(Activity)->PreferenceFragment

我没有编写此代码,但正在从有人停下来的地方开始。单击每个首选项的对话框使应用程序崩溃,因为它不喜欢 Activity2 的上下文。这是一个与 ActivityGroup 相关的问题,通过将每个首选项的上下文强制为 Activity1 的上下文来解决。

EditPreferences、ListPreferences 和 CheckPreferences 都按预期工作,但 RingtonePreference 给我带来了很多麻烦。虽然弹出对话框让我选择铃声,但它并没有保存设置。

从列表中选择铃声并按下 OK 按钮不会触发 onPreferenceChange() 或 onSharedPreferenceChanged()。我尝试创建自定义 RingtonePreference 并覆盖 onSaveRingtone() 但根本没有被调用。但是,确实调用了其他方法,例如 onPrepareRingtonePickerIntent() 和 onRestoreRingtone()。我尝试了一堆在堆栈溢出中提到的其他选项,但没有运气。我没有想法让 RingtonePreference 工作,并认为使用 RingtoneManager 启动我自己的铃声选择器是最好的选择。如果有人能给我一些关于如何让 RingtonePreference 工作的建议,那就太好了。

编辑:我相信这是一个上下文问题,但我还不知道如何解决它。

0 投票
1 回答
123 浏览

android - 在 PreferenceActivity 中动态添加标题

对于我的 android 应用程序,我想允许用户在 sharedpreferencies 中保存多个用户配置文件。该应用程序现在只能存储一个配置文件,我从带有标题的 PreferenceActivity 处理它(一个用于存储用户配置文件,一个用于存储一些应用程序配置),它们分别链接到它们的专用 PreferenceFragment。我现在的方法是创建一个名为“添加配置文件”的新标题,让用户将其数据保存在 PreferenceFragment 中,一旦他按下后退按钮完成,使用新创建的配置文件更新 PreferenceActivity 的标题。

添加之前的 PreferenceActivity 标头

  • 添加配置文件
  • 应用配置

添加后

  • 简介 1
  • 添加配置文件
  • 删除个人资料
  • 应用配置

有人有这方面的例子吗?

0 投票
1 回答
158 浏览

android - 在加载 PreferenceFragment 之前,PreferenceFragment 不会设置 SharedPreferences

在我加载首选项片段之前,不会将 PreferenceFragment 首选项添加到我的 SharedPreference Map 中。

  1. 这是 PreferenceFragment 的预期行为吗?

  2. 如果是这样,preferences.xml即使在用户访问首选项片段之前,将所有指定的默认值应用于 SharedPreferences 的最佳方法是什么?

0 投票
0 回答
340 浏览

android - 如何使用 PreferenceFragment 并且仍然支持 Android 2.3

我目前正在将我的首选项迁移到带有标题的preferenceFragment 类。

我仍然想支持 Android 版本 < 3.0,所以我也必须使用旧的 xml 文件。(https://developer.android.com/guide/topics/ui/settings.html#BackCompatHeaders

我现在的问题是我必须在运行时禁用某些首选项,设置摘要等。我现在如何在不编写代码 2 次的情况下执行此操作?

所以我的preferenceActivity看起来像这样:

如何调用changePreferences()Android 2.3?我无法从PreferenceActivity.onCreate().

如果我changePreferences()设为静态,我将无法再使用 findPreference。仍然支持 Android 2.3 的最佳方式是什么PrefernceFragment?我应该在哪里放置在运行时更改首选项的方法?

0 投票
1 回答
617 浏览

android - 如何设置首选项标题的摘要

如何在运行时设置首选项标头的摘要?即使我在里面放了一个键,findPreference(key)也会产生一个 NullPointerException。

谢谢你的帮助!

0 投票
2 回答
1203 浏览

android - 实现 PreferenceFragment?

我一直在努力在我的应用程序中实现 PreferenceFragment。我的目标是让首选项视图替换我的 main_activity 片段容器,这样我就可以保留相同的导航抽屉、操作栏等。

我创建了一个 Preference Fragment 类,如下所示:

我在 R.layout.madlibs_settings 中的偏好是:

我不太确定在我的主要活动中要做什么来增加偏好,然后使用 haredpreferences 从我的偏好中访问数据。任何帮助都会很棒,我绝对是一个有碎片的菜鸟。

0 投票
1 回答
1007 浏览

android - 使用多个首选项文件重用 PreferenceFragment

场景: 我的 android 应用程序充当服务器。有 N 个客户端连接到服务器。用户可以从服务器(Android 应用程序)配置客户端的一组设置。所以基本上我通过套接字将用户首选项发送到相应的客户端。所有客户端的设置集都是相同的,但我需要维护每个客户端的设置状态。例如:

设置集:

现在用户为 2 个客户端配置上述设置如下: 对于客户端 1:

对于客户 2:

现在在 android 应用程序中,当用户选择 client1 时,应显示 client1 特定的设置。

问题: 我无法保存客户端明智的设置状态。

我的专长: 我是 android 编程的初学者。

到目前为止我的进展: 根据我对场景的理解,我需要使客户明智的不同 2 共享首选项文件。我为一组设置创建了一个通用首选项片段。由于所有客户端的设置都相同,因此我正在重用首选项片段。我还尝试为每个客户端动态指定首选项文件:

但它不工作。

请帮忙。

0 投票
0 回答
414 浏览

android - PreferenceFragment 改变 ActionBar

我有一个应用程序,它在整个应用程序中都有一个导航抽屉。我刚刚添加了一个带有嵌套 PreferenceScreen 的 Preferences Activity。

在主屏幕上一切正常,但是当我单击嵌套屏幕时,ActionBar 默认为 Android 后退按钮,完全删除了上下文/溢出菜单以及导航抽屉。我确信它与被替换的碎片有关,但我所有修复它的努力都没有做任何事情。

如何让 PreferenceFragment 保持我的正常操作栏?

谢谢