gpt4 book ai didi

java - Android 中的 SharedPref 在按下按钮时不保存数据

转载 作者:行者123 更新时间:2023-12-02 05:40:49 25 4
gpt4 key购买 nike

好吧,我正在尝试将一组三个电话号码保存到共享首选项中。当我点击“保存”时,它会遍历所有代码和 toast ,最后会弹出,但应该保存的数字不会显示,而是显示我为每个数字输入的默认文本。有兴趣的难题。无论如何,在我正在使用的代码块中。

        saveNums.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String num1String;
num1String = num1.getText().toString();
SharedPreferences.Editor editor = prefs.edit();
editor.putString(constants.num1, num1String);
editor.commit();

String num2String;
num2String = num2.getText().toString();
SharedPreferences.Editor editor2 = prefs.edit();
editor2.putString(constants.num2, num2String);
editor2.commit();

String num3String;
num3String = num3.getText().toString();
SharedPreferences.Editor editor3 = prefs.edit();
editor3.putString(constants.num3, num3String);
editor3.commit();

Toast.makeText(c, "Contact's have been saved: " + "\n" + constants.num1 + "\n" + constants.num2 + "\n" + constants.num3, Toast.LENGTH_LONG)
.show();

}
});

这是共享的首选项文件:

import android.content.SharedPreferences;

public class constants {
public static String PREF_NAME = "sharedString";
public static String num1 = "num1";
public static String num2 = "num2";
public static String num3 = "num3";
SharedPreferences prefs;
}

当我点击 saveNums 按钮时,没有出现任何错误。尽管如此,号码也没有被保存。任何关于如何解决这个问题的想法都会很棒。

最佳答案

将此代码添加到您的帮助程序类中

public static final String MY_ST_PREFS = "what ever you want";

public static void savePreferences(Context context, String key, String value) {

SharedPreferences sharedPreferences = context.getSharedPreferences(
MY_ST_PREFS, 0);
Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
}

public static String getPreferences(Context context, String key) {

String prefsStr = "";

SharedPreferences sharedPreferences = context.getSharedPreferences(
MY_ST_PREFS, Context.MODE_PRIVATE);
prefsStr = sharedPreferences.getString(key, "");

return prefsStr;

}

并在您的onButton中单击添加此内容以将数据保存在共享首选项

yourhelperclass.savePreferences(context,"yourkey",yourstringvalue);

要获取共享首选项数据,只需使用此代码

String myString = yourhelperclass.getPreferences(context,"yourkey");

我希望这会起作用......

关于java - Android 中的 SharedPref 在按下按钮时不保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24530164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com