Android 安卓偏好

Android 安卓偏好,android,preferences,Android,Preferences,我正在android应用程序中创建备份和恢复选项。然后打开首选项“我想要一个备份按钮和一个恢复按钮”。 我在xml/preference.xml文件中按如下方式创建按钮: <PreferenceCategory android:title="Backup"> <Preference android:key="backup" android:title="Backup" android:summary="Make a bac

我正在android应用程序中创建备份和恢复选项。然后打开首选项“我想要一个备份按钮和一个恢复按钮”。 我在xml/preference.xml文件中按如下方式创建按钮:

<PreferenceCategory android:title="Backup">
    <Preference
        android:key="backup"
        android:title="Backup"
        android:summary="Make a backup of shows"
    />
    <Preference
        android:key="restore"
        android:title="Restore"
        android:summary="Restore shows from backup"
    />
</PreferenceCategory>
但是没有显示吐司,然后我按下其中一个按钮。我在I.e.CheckBoxPreference上工作得很好,但我只需要一个按钮,而不需要复选框。有人能帮忙吗?

把你的代码放到

public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
                                         Preference preference);

方法<代码>首选项这里是单击的首选项。

如果只是一个简单的按钮,则没有可以更改的首选项,因此在这种情况下不会调用您的
共享首选项更改

改用OnClick侦听器:

OnPreferenceClickListener btnListener = new OnPreferenceClickListener() {
    @Override
    public boolean onPreferenceClick(Preference preference) {
        final String key = preference.getKey();

        if (key.equals("backup")) {
            // show toast
            return true; // we handled the click
        }
        return false; // we didn't handle the click
    }
};

Preference prefBtn = findPreference("backup");
prefBtn.setOnPreferenceClickListener(btnListener);
OnPreferenceClickListener btnListener = new OnPreferenceClickListener() {
    @Override
    public boolean onPreferenceClick(Preference preference) {
        final String key = preference.getKey();

        if (key.equals("backup")) {
            // show toast
            return true; // we handled the click
        }
        return false; // we didn't handle the click
    }
};

Preference prefBtn = findPreference("backup");
prefBtn.setOnPreferenceClickListener(btnListener);