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

向首选项添加OnClickListener的完整代码

裴展
2023-03-14

好的,我发誓这是我最后一次问这个问题。 我已经尝试了一万亿种不同的解决方案,但没有一种奏效。

首先是Android Studio创建的空白设置activity:

public class SettingsActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.settings_activity);
    getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.settings, new SettingsFragment())
            .commit();


    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.setDisplayHomeAsUpEnabled(true);

    }

}

public static class SettingsFragment extends PreferenceFragmentCompat {
    @Override
    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
        setPreferencesFromResource(R.xml.preferences, rootKey);
    }

}

下面是我的首选项XML:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

    <Preference
        android:id="@+id/resetSettings"
        android:defaultValue="true"
        android:key="reset_settings"
        android:selectAllOnFocus="true"
        android:singleLine="true"
        android:summary="@string/reset_description"
        android:title="@string/reset_title" />
    <SwitchPreference
        android:defaultValue="false"
        android:key="switch_preference"
        android:summary="Instead of values from 0 to 255, the seekBar will use percentages"
        android:title="Use Percentages" />

</PreferenceScreen>

我想要一个OnClickListener附加到重置首选项,这样它就可以打开一个警报对话框,询问用户是否要删除所有应用程序数据

共有1个答案

葛哲彦
2023-03-14

在onCreatePreference的设置片段中添加:

Preference 
resetPreference=findPreference("your Preference key");

然后单击listener Add:

resetPreference.setOnPreferenceClickListenere(new 
Preference.OnPreferenceClickListener() {

@overide
public boolean onPreferenceClick(Preference preference) 
 {
       //your code goes here
       return false;
  }
});
 类似资料:
  • 我在一个Android Live壁纸应用程序中有如下偏好。(这些是复选框)。我想添加一个链接到一个Facebook页面到这个列表。在网上查看Android PreferenceCategory,我没有看到任何类似“LinkPreference”或“ButtonPreference”的东西,但话说回来,链接或按钮并不是真正的首选,所以也许我想把一个方形的钉子放在一个圆孔里。这可能吗?如果可能,如何可

  • 我一直在尝试更改选择选项的样式。例如添加颜色和背景似乎可以使用下面的代码。但它不起作用,例如边距:20px,边框或任何东西。一直在尝试不同的东西和JS和JQueary,但我不能让它工作,所有的提示都是欢迎的!:) null null

  • 问题内容: 我正在使用Java PreferencesAPI在swing/ java应用程序中存储和检索少量信息。 现在,我已设置Java WebStart,以从我的网页启动该应用程序,并且出现了安全异常。为了摆脱此异常,我必须提示用户输入权限。我拒绝这样做,因为我的应用程序不执行需要用户许可的其他操作。 这就是为什么我需要另一种解决方案来存储从一个执行到另一个执行的几个键值。某种Cookie或其

  • 问题内容: 除了官方文档,我只发现了这篇文章。但是它很旧而且不完整(仅可用选项)。例如,我都找不到选项。 如果存在完整列表,在哪里可以找到? 问题答案: 您可以使用 打印所有选项及其默认值。如果您具有调试版本,则也可以使用此命令为各种选项打印注释: 附注:此博客文章中有大多数描述:http : //stas-blogspot.blogspot.bg/2011/07/most- complete-l

  • 我在我的php站点中使用fullcalendar。我用eventSources加载事件,给它一个url重定向到我的php控制器,该控制器生成json数据。在呈现日历之前,我希望每个事件都有工具提示。为此,我编写了一个javascript函数,用于添加工具提示: 其中内容是html内容。该函数在日历渲染之后运行。呈现日历后,工具提示不显示。 为了解决这个问题,我尝试将该函数添加到datesRende

  • 7.1.首选项 首选项即用户所做的个人设置。它包含一些选项数据,以及一个修改这些选项数据的用户界面。 在用户看来,首选项就是一些文本框、复选框、下拉菜单等等组成的集合体;而在程序员看来,首选项是一组键值对构成的数据集,其中的值可以是整型、布尔型、字符串等等。 我们的微博应用需要连接到服务端,因此用户的用户名与密码自是必须,除此还需要知道服务端的URL(又称API root)。可知我们在这里需要提供

  • 了解 Lightroom 中可以设置使用的首选项的更多信息。 调整 Lightroom 中的首选项 要打开首选项对话框,请选择编辑 > 首选项 (Win) 或 Lightroom > 首选项 (macOS)。 在首选项对话框中,从左侧菜单选取任意首选项设置:帐户、本地存储空间、常规或界面。 设置所需的首选项,然后单击完成。 此时系统将提示您重新启动 Lightroom 以应用所更改的设置。执行以下

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