繁体   English   中英

如何图像按钮到SharedPreferences并保存

[英]How to image button to SharedPreferences and save it

大家好,我有一个问题。 我有一个带有2个选项的按钮,如女孩已选中和未选中,男孩也有相同的选项。 在我的片段中,我需要选择一个并将其保存在SharedPreferences中。

我有这个配置按钮:

private void setSexButtons() {

    sexButtonBoy.setOnClickListener(view -> {
        sexButtonBoy.setSelected(true);
        sexButtonBoy.setScaleX(1.4f);
        sexButtonBoy.setScaleX(1.4f);
        sexButtonGirl.setSelected(false);
        sexButtonGirl.setScaleY(1.0f);
        sexButtonGirl.setScaleX(1.0f);
        Settings.setSelectedIem(true);

    });

    sexButtonGirl.setOnClickListener(view -> {
        sexButtonBoy.setSelected(false);
        sexButtonGirl.setSelected(true);
        sexButtonGirl.setScaleX(1.4f);
        sexButtonGirl.setScaleX(1.4f);
        sexButtonBoy.setScaleY(1.0f);
        sexButtonBoy.setScaleX(1.0f);
        Settings.setSelectedIem(true);
    });
}

而且我也有一种保存方法-但我认为我做错了什么,因为这行不通

public static void setSelectedIem(boolean selectedIem) {
    getPreferences().edit()
            .putBoolean(SELECTED_SEX, selectedIem)
            .apply();
}

private static final String SELECTED_SEX = "selectedSex";

请给我任何建议如何做到这一点。

对不起,我想念这里:

privated SharedPreferences sharedPreferences;

并在onCreate中

sharedPreferences = getSharedPreferences("me.fast.app", MODE_PRIVATE);

这是主要方法:

private static SharedPreferences getPreferences() {
    return ApplicationFast.sharedPreferences;
}

更新了新方法

public static boolean isSelectedItem(){
        return getPreferences().getBoolean(SELECTED_SEX, false);
    }

我认为您的问题是保存布尔值,因为对于男女来说,您都保存了“ true”。

你应该做这个:

private void setSexButtons() {
    //If you want to recover the settings do this:
    sexButtonBoy.setSelected(Settings.isSelected());
    sexButtonGirl.setSelected(!Settings.isSelected());

    sexButtonBoy.setOnClickListener(view -> {
        sexButtonBoy.setSelected(true);
        sexButtonBoy.setScaleX(1.4f);
        sexButtonBoy.setScaleX(1.4f);
        sexButtonGirl.setSelected(false);
        sexButtonGirl.setScaleY(1.0f);
        sexButtonGirl.setScaleX(1.0f);
        Settings.setSelectedIem(true);

    });

    sexButtonGirl.setOnClickListener(view -> {
        sexButtonBoy.setSelected(false);
        sexButtonGirl.setSelected(true);
        sexButtonGirl.setScaleX(1.4f);
        sexButtonGirl.setScaleX(1.4f);
        sexButtonBoy.setScaleY(1.0f);
        sexButtonBoy.setScaleX(1.0f);
        Settings.setSelectedIem(false);
    });

}

接着:

public static void setSelectedIem(boolean selectedIem) {
   getPreferences().edit()
          .putBoolean(IS_BOY, selectedIem)
          .apply();
}

private static final String IS_BOY = "isboy";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM