gpt4 book ai didi

android - 用户未保存,SharedPreferences

转载 作者:行者123 更新时间:2023-11-29 18:15:52 24 4
gpt4 key购买 nike

您好,我有一个 inlogscreen (inlogdialog.xml),其中包括 2 个 EditText(用户名、密码)和一个 CheckBox(保存用户),用户可以使用它来决定是否保存用户名。

在主窗体 (main.xml) 上,我有一个用于这 3 个值的监听器:

private class OnReadyListener implements MyCustomForm.ReadyListener {

public void ready(String user, String pass, boolean save) {
username = user;
password = pass;
}

}

现在我首先想通过 SharedPreferences 保存用户名,但没有保存,有人可以帮我吗?

如果我检查 system.out.println,用户名出现在字符串用户名中。

main.xml 中的 SharedPreferenes 代码:

public static final String USERNM = ""; 
private SharedPreferences mPrefs;
.......

@Override
protected void onPause() {
Editor e = mPrefs.edit();
e.putString(USERNM, username); <----
e.commit();
Toast.makeText(this, "Items saved.", Toast.LENGTH_SHORT).show();
super.onPause();
}

编辑:

public static final String PREFS_NAME = "SharedPrefsDemoPreferences";  
public static final String PREF_BOOL = "Bool";
public static final String USERNM = "User";

private SharedPreferences mPrefs;
....
@Override
protected void onResume() {
mPrefs = getSharedPreferences(PREFS_NAME, 0);
if(mPrefs!=null)
myBoxState=mPrefs.getBoolean(PREF_BOOL, false);
super.onResume();
}

编辑 2:

@Override     
protected void onPause() {
System.out.println("user: " + username); <---- value username is there
Editor e = mPrefs.edit();
//e.putBoolean(PREF_BOOL, nieuwbel.isChecked());
e.putString(USERNM, username);
e.commit();
Toast.makeText(this, "Instelling beltegoed opgeslagen.", Toast.LENGTH_SHORT).show();
super.onPause();
}

最佳答案

username 的 key 为空(参见:public static final String USERNM = "";),这太糟糕了。每个值都需要一个键。

http://developer.android.com/reference/android/content/SharedPreferences.Editor.html#putString(java.lang.String,%20java.lang.String )

关于android - 用户未保存,SharedPreferences,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8110742/

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