当前位置: 首页 > 知识库问答 >
问题:

Android:如何设置首选项ClickListener?

勾向文
2023-03-14

我是Android编程的新手,首先我想用SharedPreays做一个简单的选项菜单演示。我已经创建了基本的结构,但是我不知道如何将OnPreancceClickListener附加到Preation。尽管如此,我可以使用onSharedPreancceChanged方法,但是没有其他事件侦听器。(再次,我是初学者,所以我不知道为什么会这样。)

我已经阅读了有关创建菜单步骤的文档:https://developer.android.com/guide/topics/ui/settings/customize-your-settings#java

我还看到了一个问题:Preference Click Listener上的Preference活动

我已经尝试了一些解决方案,但它们根本不起作用。(我无法实现OnPreeuceClickListener,所以这可能是主要原因,但我不知道为什么)

如你所见,我在PreferenceCategory中创建了一个CheckBoxPreference和一个Preference元素。(位于/res/xml/settings_pref.xml中)

<PreferenceCategory
    android:key="category_basic"
    android:title="Basic settings">
    <CheckBoxPreference
        android:defaultValue="true"
        android:key="my_checkbox"
        android:summaryOff="Off"
        android:summaryOn="On"
        android:title="@string/my_checkbox"
    />
    <Preference
        android:key="my_preference"
        android:title="@string/my_preference"
    />
</PreferenceCategory>

此方法检查CheckBoxPreference的状态(选中/未选中)(位于/java/MainActivity.java中)

@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { // called when I change the state of the CheckBoxPreference
    if (key.equals("my_checkbox")) {
        // some interesting stuff
    }
}

但我的目标是检测用户是否点击了某个首选项并执行了某些操作(例如打开对话框)

onClickPreference.setOnPreferenceClickListener(preference -> {
    // do something
    return true;
});

当我尝试创建一个单击侦听器时,我得到了这个错误消息:无法解析符号'onClickPreCEDAW'

共有1个答案

司寇阳曦
2023-03-14

试试这个代码希望对你有帮助

findPreference("my_preference").setOnPreferenceClickListener(preference -> {
    // do something
    return true;
});
 类似资料:
  • 关于首选项 首选项是关于您希望 Illustrator 如何工作的选项,包括显示、工具、标尺单位和导出信息。您的首选项存储在名为 “AIPrefs”(Windows) 或 “Adobe Illustrator Prefs”(Mac OS) 的文件中,每次您启动 Illustrator 时它也随之启动。要恢复 Illustrator 的默认设置,您可以删除或重命名首选项文件并重新启动 Illustr

  • 关于首选项 为了让 Illustrator 根据您特定的工作流程尽可能流畅地运行,您需要根据自己的喜好设置首选项。 许多程序设置都存储在 Adobe Illustrator Prefs 文件中,其中包括常规显示选项、文件存储选项、性能选项、文字选项以及增效工具和暂存盘选项。其中大多数选项都是在首选项对话框中设置的。每次退出应用程序时都会存储首选项设置。 如果出现异常现象,可能是因为首选项已损坏。如

  • 问题内容: 我正在研究Android项目。我有一个prefs.xml代码,像这样 而且我需要自定义首选项布局。我创造了; custom_name_setting_layout.xml 并编写一个SettingActivity.java 我的问题是;我写了setBackgroundColor方法,但是没有用。不起作用的意思是,该程序正在运行而没有错误(例如NullReferenceException

  • 我开始认为我的问题是我的偏好没有正确完成,这就是为什么我无法访问tem。以下是我的偏好: Java: 这是我对设置菜单的调用: 因此,任何帮助将不胜感激!我正在尝试访问这些首选项,但无法访问。它似乎很好地拯救了他们。我能够测试和运行代码,更改pref并保存它们的状态。但是,当我尝试访问它们时,我不能...以下是我用来尝试访问它们的代码: 编辑:我已将其更改为如下调用,无论设置如何,它仍然是“你好,

  • 以下各节介绍“首选项”对话框和可以使用此菜单执行的各种任务。 “首选项”对话框 要打开“首选项”对话框,请转到: “编辑”>“首选项”> [类别名称] (Windows) After Effects >“首选项”> [类别名称] (Mac OS) 使用以下键盘快捷键打开“首选项”>“常规”菜单: Ctrl+Alt+;(分号)(Windows) Command+Option+;(分号)(Mac OS

  • 例如:如果我有一个“丢弃旧消息”的首选项设置,它指定了需要清理消息的天数。在中,我希望用户看到: “丢弃旧消息”<-title “x天后清理邮件”<-摘要,其中x是当前首选项值 额外的功劳:使它可重用,所以我可以很容易地将它应用到我的所有首选项,而不管它们的类型是什么(这样它就可以使用EditTextPreference,ListPreference等,只需最少的编码量)。