问题标签 [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 投票
1 回答
2146 浏览

android - @style/PreferenceThemeOverlay 的 PreferenceFragmentCompat 填充问题

在使用preference-v7支持库(版本23.1.0)中的默认PreferenceThemeOverlay时,我遇到了以下问题。从 API 22 开始,我的 PreferenceFragmentCompat 在我的偏好列表的左侧和右侧添加了一个丑陋的附加填充。

构建.gradle:

样式.xml:

在此处输入图像描述

在我没有在 stackoverflow 上找到任何有用的解决方案后,我自己编写了一个解决方法。我只是想和你们分享。

0 投票
1 回答
548 浏览

android - PreferenceFragmentCompat 问题

使用似乎有很多问题PreferenceFragmentCompat。我已经设置了PreferenceThemeOverlay. 但是,标题似乎太大了。EditTextPreference标签无法理解 inputType 。

一般来说。Android支持版本23.1似乎没有解决。

也许有人有办法解决这个问题?谢谢

0 投票
4 回答
3309 浏览

android - PreferenceFragmentCompat 在初始化时崩溃

我用 ViewPager 做了一个应用程序。当我进行调试构建并在手机上进行测试时,一切正常。(不是模拟器)但是当我构建一个版本 .apk 并安装它时,PreferenceFragmentCompat 的addPreferencesFromResource(R.xml.preferences); 使应用程序崩溃。 PreferenceFragmentCompat - Android 开发者

ApplicationSettingsFragment.java:

res/xml/preferences.xml

和崩溃报告:

我正在使用最新的库:

有人可以告诉我我做错了什么吗?谢谢

0 投票
0 回答
771 浏览

android - 设置值时不更新首选项摘要

我有一个带有 PreferenceFragment 的设置活动,其中包含我的应用程序的设置。我希望将每个首选项的值作为摘要,以便用户可以看到每个首选项的值。在preferences.xml 我定义了3 个偏好。一个是服务器 IP,第二个是服务器端口,第三个是打开外部应用程序(条形码阅读器)以扫描包含此 IP 和端口的二维码的意图。在onActivityResult 中,我获取 QR 内容,对其进行解析,并将这些值设置为 defaultSharedPreferences,其键与在preferences.xml 中设置的键相同,如下所示:

现在我有一个方法可以用它们的值更新所有偏好摘要,如下所示:

onCreate()方法中,我还调用initSummary(getPreferenceScreen())来使用它们的值更新所有摘要(在这种情况下只有 EditTextPreferences)——效果很好。但是当我在将这些扫描的值提交给 defaultSharedPreferences 后调用此方法时,屏幕上的值不会更新。但是当我点击返回并再次打开此活动时,我看到这些新值在摘要中正确更新。因此它们被正确存储,但在扫描我想要的 QR 后它们不会立即在屏幕上更新,方法是在onActivityResult()中调用initSummary(serverPref/portPref ) 。

我错过了什么吗?谢谢你的帮助。

0 投票
1 回答
948 浏览

android - 如何在我的偏好片段中添加监听器?

我需要为我的偏好片段设置一个 onPreferenceChangeListener,但我不知道我该怎么做......这是我的代码

0 投票
2 回答
5435 浏览

android - 有没有办法设置 PreferenceFragmentCompat 的样式

标题说明了一切:如何设置 PreferenceFragmentCompat 的样式。我的 v14/style.xml 是

基本主题有黑色背景 - 首选项屏幕然后是不可读的,因为我在黑色背景上有黑色文本。

我已经尝试了很多东西,但我无法更改文本颜色。

我必须做的是在设置片段处于活动状态时将片段容器背景颜色设置为白色。一个丑陋的黑客,而不是我想做的事。

0 投票
1 回答
129 浏览

android - 在设置屏幕上显示 sharedPreference 对话框变量

我知道这是一件简单的事情,但我找不到正确的方法。据我所知,我可能设计错了。

我有一个 PreferenceFragment ,用户可以使用我的应用程序主片段上的选项菜单导航到它。(我的应用程序只有 1 个活动和 3 个片段。)此 PreferenceFragment 是设置屏幕,只有 1 个选项。单击该选项会向用户显示一个带有 TimePicker 的对话框。我使用 DialogPreference 来显示 TimePicker 对话框。当用户选择时间时,我想在设置屏幕中显示所选时间。

下面的代码以及屏幕截图。

显示设置屏幕的 PreferenceFragment 类。

显示 TimePicker 的 TimePreference 类

我在代码中提到的行上得到以下异常:

场景:我单击设置屏幕上的选项-> DialogPreference (TimePicker) 对话框打开--> 设置时间--> 好的-->一切正常--> 重复该过程--> 单击设置屏幕上的选项- -> DialogPreference (TimePicker) 对话框打开--> 设置时间--> 出现上述异常时崩溃!!!

我认为它尝试在上下文中调用 getString() 并且由于 getActivity 返回 null 它会引发异常,但是我如何设置用户在 SettingsFragment 字段的 TimePicker 中选择的值?

这几天一直困扰着我。有人可以指导我吗?

0 投票
1 回答
1148 浏览

preferenceactivity - CustomPreferenceCategory 不能转换为 android.preference.GenericInflater$Parent

我做了CustomPreference,它适用于PreferenceCategory,但CustomPreferenceCategory有一个问题,比如uk.co.bla.bla.customwidget.viewgroup.CustomPreferenceCategory不能转换为android.preference.GenericInflater$Parent

CustomPreferenceCategory.class

偏好类别标题

偏好.xml

0 投票
2 回答
2381 浏览

android - 如何使用导航抽屉避免android中的片段重叠

我正在创建一个应用程序,我在其中使用带有导航抽屉的首选项片段我的问题是我创建了导航抽屉,并且我在其中添加了一些菜单项,我想在其中加载首选项片段作为应用程序加载时的第一个元素。它就像我不显示的那样。当我更改选项时,即当我更改抽屉菜单选项(如第二个元素)时,抽屉菜单第一个视图中的第二个元素不会替换,它与第一个元素重叠在此处输入图像描述

我的导航抽屉xml如下

我的偏好片段是这样的

我正在添加以加载 PreferenceFragment 的片段类是

显示片段方法所在的导航抽屉类

如果我将调用除下面的偏好片段以外的片段,它会起作用,请帮助我

我正在努力清除它的解决方案,请任何人解决它,请告诉我解决方案。我将非常感谢,请帮助我

0 投票
1 回答
1321 浏览

android - PreferenceFragment no scroll in CollapsingToolbarLayout

I have a problem with PreferenceFragment and CollapsingToolbarLayout. I have a base layout:

The problem is when I inflate the Framelayout with a PreferenceFragment the scroll doesn't work but with a normal Fragment works properly.

I haven't found any solutions for this problem, can anyone help me?

Thank you in advance.

PD: Sorry for my English.