- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于stackoverflow的第一个问题,请原谅任何不一致之处。
我的 Android 应用程序实现了一个 PreferenceFragmentCompat fragment ,该 fragment 通过在 MainActivity 中单击按钮打开。 “root”PreferenceScreen 中的所有选项都可以顺利运行,但我无法打开任何“子”PreferenceScreen。
经过大量搜索,我发现需要在我的 fragment 中实现 onPreferenceStartScreen 回调,它确实有效!但是现在,我对应用程序进行了相当多的更改,并且一定搞砸了,无法弄清楚是什么。
就这样吧!
其中,我在我的应用程序级别 gradle.build 中实现了这两个库
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.preference:preference:1.1.1'
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference
android:defaultValue="false"
android:key="check_box_preference_1"
android:title="Check box preference" />
<PreferenceScreen android:title="Preference Screen">
<CheckBoxPreference
android:defaultValue="false"
android:key="check_box_preference_2"
android:title="Check box preference" />
</PreferenceScreen>
</PreferenceScreen>
public class TestPrefFrag extends PreferenceFragmentCompat implements PreferenceFragmentCompat.OnPreferenceStartScreenCallback {
private static final String TAG = "TestPrefFrag";
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
Common.log(5, TAG, "onCreatePreferences: started");
setPreferencesFromResource(R.xml.prefs3, rootKey);
}
@Override
public boolean onPreferenceStartScreen(PreferenceFragmentCompat caller, PreferenceScreen preferenceScreen) {
Common.log(5, TAG, "onPreferenceStartScreen: '" + caller.getTag() + "' called for key '" + preferenceScreen.getKey() + "'");
caller.setPreferenceScreen(preferenceScreen);
return true;
}
@Override
public void onNavigateToScreen(PreferenceScreen preferenceScreen) {
Common.log(5, TAG, "onNavigateToScreen: called for key '" + preferenceScreen.getKey() + "'");
//getCallbackFragment();
super.onNavigateToScreen(preferenceScreen);
}
@Override
public boolean onPreferenceTreeClick(Preference preference) {
Common.log(5, TAG, "onPreferenceTreeClick: detected click @ '" + preference.getKey() + "'");
return super.onPreferenceTreeClick(preference);
}
}
onPreferenceTreeClick
仅限 onNavigateToScreen
然后是 onPreferenceTreeClick
但绝不是 onPreferenceStartScreen
onPreferenceStartScreen
在
onNavigateToScreen
之后立即调用.
最佳答案
您需要覆盖 PreferenceFragment
方法getCallbackFragment
, 像这样
@Override
public Fragment getCallbackFragment() {
return this;
}
关于android - 在 Android 上的 PreferenceFragmentCompat 中永远不会调用 onPreferenceStartScreen(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61705111/
问题是如何与其他嵌套的 PreferenceFragmentCompat 构建 PreferenceFragmentCompat。 主要 Activity : public class MainAct
我尝试为我的 Android 应用程序创建一个设置 Activity ,但是当我单击应该打开设置 Activity 的按钮时,我收到以下错误,并且我的应用程序返回到我的主要 Activity 。 错误
我正在使用 PreferenceFragmentCompat 创建一个设置屏幕,我想在用户上下滚动时执行一些功能,因此我需要检测用户滚动,我如何才能听到偏好屏幕滚动?下面是我的布局代码
我正在尝试使用 PreferenceFragmentCompat 设置我的 SettingsFragment 但 android studio 给出一个错误,即无法解析符号 PreferenceFra
我创建了一个 PreferenceFragmentCompat 设置,一切正常,但我注意到有些奇怪,当加载首选项屏幕时第一次单击设置按钮,我触摸了一些首选项,但它没有响应我的第一次触摸,但是正常工作后
我正在使用 PreferenceFragmentCompat(来自 'com.android.support:preference-v7:28.0.0-rc02')来创 build 置菜单。 问题是我
我需要帮助来解决 PreferenceFragmentCompat 的问题,该问题根本不显示,控制台中没有错误,没有消息,什么也没有,只是一个空白页面。 该 fragment 显示为在抽屉导航中选择元
我用 ViewPager 创建了一个应用程序。当我进行调试构建并在手机上进行测试时,一切正常。 (不是模拟器)但是当我构建一个发布 .apk 并安装它时,PreferenceFragmentCompa
在我的 Android 应用程序中,我定义了一个非常基本的 PreferenceScreen: 并实现了相应的PreferenceFragmentCompat类: class
我需要为我的 PreferenceFragmentCompat 自定义布局。在 PreferenceFragmentCompat 的文档中看来您可以在 onCreateView() 中膨胀并返回一个
我正在尝试将 EditTextPreference 的值放入摘要中。有人可以告诉我该怎么做吗?我的 OnSharedPreferenceChangeListener 似乎不起作用。 import an
我正在尝试创建一个扩展 AppCompatActivity 并在其中有两个 fragment 的 Activity(一个在另一个之下 - 只需使用 LinearLayout)。我希望第一个 fragm
我用的是androidx。在设置 fragment 中,我想创建“首选项”按钮并单击它们以触发一些单独的事件。 如何在特定首选项上实现点击监听器? 这是我的一些代码: import android.o
我创建了一个具有自定义 ImageView 布局的首选项,如下所示: 我的布局是这样的: 但我不知道如何获取对它的引用。我试图通过这样做将它放在 onCreateView 方法中: @Overr
我正在使用支持库中的 PreferenceFragmentCompat(preference-v14:23.0.1 - 虽然我也尝试过使用 23.1.1)。我将所有偏好设置都放在一个 XML 文件中,
我创建了一个首选项屏幕并在扩展 PreferenceFragmentCompat 的类中进行了膨胀。但是偏好项之间的分隔线没有显示 最佳答案 如果使用 AndroidX,请将以下属性添加到 XML 中
标题说明了一切:如何设置 PreferenceFragmentCompat 的样式。我的 v14/style.xml 是 @style/Widget.EditText.W
我正在使用 PreferenceFragmentCompat,但我认为它的样式不正确。 Preferences 的标题似乎太大了,PreferenceCategory 文本不可读,整个想法似乎不对。
我正在覆盖 v7 支持库中的 PreferenceFragmentCompat 类,以便在我的应用程序中提供设置屏幕。我需要在 PreferenceScreen 中设置项目的文本颜色。 这是我尝试过的
我想覆盖 v14 PreferenceFragmentCompat 使用的 accentColor。 我在我的 Android 应用的外框上使用了粉红色强调色。这在许多情况下都会产生问题,因为它会导致
我是一名优秀的程序员,十分优秀!