Android:点击首选项按钮?

标签 android button dialog sharedpreferences preferences

我有一个带有复选框列表首选项等的共享首选项屏幕。现在我想在共享首选项屏幕中添加一个按钮,当我单击它时会弹出一个对话框。我这样做了,在首选项屏幕上制作按钮看起来很完美:

<Preference
        android:key="key"
        android:summary="make pop up dialog"
        android:title="dialog" />

但是现在我不知道如何在它被点击时获得我试过但我不能使用 onSharedPreferenceChanged 因为没有偏好被改变它只是被点击了。那么当点击首选项按钮时我会怎么做呢?感谢您的帮助。

最佳答案

首先,您的 PreferenceActivity 必须实现 Preference.OnPreferenceClickListener。 然后,在onCreate函数调用下

findPreference(YOUR_KEY_PREF).setOnPreferenceClickListener(this);

并添加这个函数

@Override
public boolean onPreferenceClick(Preference preference) {
    String key = preference.getKey();
    if(key.equals(YOUR_KEY_PREF)){
        showYourDialog();
        return true;
    }
    return false;
}

在您的情况下,YOUR_KEY_PREF"key"

关于Android:点击首选项按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11661926/

相关文章:

安卓对话框

java - 线程中出现异常 "main"java.lang.NoClassDefFoundError : kotlin/KotlinPackage & Caused by: java. lang.ClassNotFoundException : kotlin. KotlinPackage

java - 如何从 SQLite 中的特定列获取具有特定值的行?

javascript - 按钮 Javascript 问题的文本输出

kotlin - 我的Kotlin Android Studio应用程序在没有给出值的情况下按按钮时会继续崩溃

button - JavaFX 将两个按钮置于彼此下方

javascript - 使用模板作为内容时,在 dijit.Dialog 中附加点

android - 我可以延迟 instabug IntroDialog 吗?

android - 如何在 Android 和 iPhone 的移动应用程序中实现推荐计划

android - 在 Canvas 上绘制的圆圈与屏幕不匹配