因此,我需要我的应用程序来保存并记住用户在搜索字段中输入的名称。我使用共享的首选项来执行此操作。.但是,当我关闭应用程序并再次打开时,我收到的文本不是保存的名称,而是这样的文本:android.support.AppCompatEditText {1f4bcb VEFD..Cl .F ... 197,800-860,927 app:id /用户名}
怎么了?
static SharedPreferences sharedPref;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);
namefield = (EditText) findViewById(R.id.username); //this is the user-input field
Tname = (TextView) findViewById(R.id.NameLabel); //this label will be the username when user press the UPDATEbtn
UPDATEbtn = (Button)findViewById(R.id.Update_btn);
// Get from the SharedPreferences
sharedPref = getApplicationContext().getSharedPreferences(PREFS_NAME, 0);
String USERname = sharedPref.getString("name", String.valueOf(0));
Tname.setText(USERname);
}
//this is the onClick method of my UPDATEbtn
public void UpdateInfo(View view)
{
Tname.setText(namefield.getText());
sharedPref = getApplicationContext().getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("name", String.valueOf(namefield));
// Apply the edits!
editor.apply();
}
问题来源:Stack Overflow
您正在尝试访问edittext。
尝试
editor.putString(“ name”,namefield.getText()。toString());
回答来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。