问题标签 [support-preference]

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 投票
5 回答
35340 浏览

android - 如何使用 v7/v14 首选项支持库?

与 M 版本一起,还有新的支持库。其中一个似乎非常有用的是v7 Preference Support库。

它似乎没有PreferenceActivity或类似的东西,我们如何将它集成到我们的应用程序中?

0 投票
1 回答
437 浏览

android - preference-v14 ListPreference 使用单选按钮的默认颜色

我正在使用preferences-v14 支持库。

当我使用ListPreference时,单选按钮的颜色不是根据我的主题的强调色(在 Android 5.1 上运行时)。

在 Android 4.1 中,单选按钮变为黑色。

如何使单选按钮遵循主题的强调色?

错误的颜色

0 投票
1 回答
91 浏览

android - 带有 PreferenceFragmentCompat 的验证错误

我正在尝试使用 Support v7 PreferenceFragmentCompat,但是当我启动应用程序时,我VerifyError在创建其对象实例时得到了这个:

我尝试使用的代码就像这样简单:

这只发生在PreferenceFragmentCompat, (例如我对此没有任何问题:)new android.support.v7.preference.EditTextPreference();

在使用支持库之前,android API 一切正常PreferenceFragment。支持库已正确链接到项目中(我正在使用也支持片段和工具栏,完全没有问题)。

在这一点上,我完全被卡住了,我真的不知道在哪里寻找。

0 投票
1 回答
46 浏览

android - 设置 OnSharedPreferenceChangeListener 时的 PreferenceCompatFragment 空指针

我正在使用PreferenceCompatFragment我的代码中提到的,但是在更改设置时设置监听器有问题。

OnSharedPreferenceChangeListener我已经在我的中实现了,Activity所以我尝试在片段将附加到视图/容器时设置提到的侦听器,但我一直都在获取空指针PreferenceManager.getDefaultSharedPreferences(getActivity());

大多数示例都是以 Fragment 也实现侦听器的方式构造的 - 在我的情况下,我想单独进行。

0 投票
6 回答
9986 浏览

android - 无法让 PreferenceFragmentCompat 工作

我正在尝试创建一个扩展 AppCompatActivity 并在其中有两个片段的 Activity(一个在另一个之下 - 只需使用 LinearLayout)。我希望第一个片段从 support-v7 库中扩展 PreferenceFragmentCompat 类。

我遵循了 Google 关于 PreferenceFragmentCompat 的简短示例,如https://developer.android.com/reference/android/support/v7/preference/PreferenceFragmentCompat.html所示。

这是我当前的代码:

GroupDetailsActivity.java

GroupDetailsPrefFragment .java - 有问题的片段

GroupDetailsMembersFragment.java - 现在完全是空的..

activity_group_details.xml - 活动的布局

group_details_preferences.xml - 首选项 XML 文件

尝试编译和运行上面的代码导致我遇到一些错误,第一个是关于未设置的首选项主题。我快速浏览了互联网,发现您需要将以下行添加到您的活动主题中:<item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>

为此,我需要将 support-v14 库添加到 gradle!

尝试再次运行代码,导致我出现另一个错误,这就是我发布此问题的原因,到目前为止我还没有找到解决此问题的任何方法。这是崩溃日志:

一直停留在这个问题上,尝试在 stackoverflow 或其他网站上查找不同的帖子,看到了一些解决方案,但由于某种原因,他们都没有解决我的问题。

编辑:

我的 gradle 文件包含以下内容:

2017 年 1 月 2 日更新

我一直在查看源代码PreferenceFragmentCompat并看到它正在尝试加载以下布局:R.layout.preference_list_fragment. 在onCreateView()类的方法中,它正在膨胀布局,并试图寻找 id android.R.id.list_container。问题是布局中没有这样的 id。

这是来自的代码片段PreferenceFragmentCompat

尽管

仍在寻找解决方案,谢谢!

0 投票
1 回答
247 浏览

android - SwitchPreferenceCompat On/Off 动画导致左对齐

当我触摸一个开关时,所有其他开关看起来都很正常,如下所示: 在此处输入图像描述 但刚刚触摸的开关左对齐,如下所示: 在此处输入图像描述 我正在使用以下库作为首选项屏幕:

使用这些样式:

XML 文件:

如果我使用PreferenceThemeOverlay而不是自定义样式并不重要。我已经尝试过支持首选项 v7 和 v14。我错过了什么?

编辑:我注意到 CheckBoxPreference 的行为方式相同。

0 投票
0 回答
243 浏览

android - v7 PreferenceScreen 缺少布局编辑器“设计”按钮

通常preferences.xml在 Android Studio 中编辑文件时,可以通过点击屏幕左下方的“设计”按钮切换到布局编辑器:

设计按钮

单击按钮后,将显示此 xml 文件的布局编辑器:

在此处输入图像描述

但是当我更改PreferenceScreenandroid.support.v7.preference.PreferenceScreen(如建议here)时,按钮消失(需要重新打开xml文件才能看到此效果):

在此处输入图像描述

  1. 这种行为是正常的还是这只是我的 Android Studio 安装(Windows 上的 v3.1.1) - 即布局编辑器尚未针对 v7 首选项 xml 文件实现?
  2. 无论如何,在使用 v7 首选项时是否可以打开布局编辑器?是否存在好的解决方法?
  3. 似乎没有android.support.v7.preference.PreferenceScreen在 xml 文件中明确声明仍然适用于 v7 首选项,因此不知何故在幕后将其android.preference.PreferenceScreen转换为 a 。android.support.v7.preference.PreferenceScreen使用 v7 首选项并且未在 xml 文件中明确声明时是否有任何缺点android.support.v7.preference.PreferenceScreen(因此仍然可以使用布局编辑器)?有什么区别,如果有的话(除了关于不允许的 xml-elements 的可能编译器警告)?