【发布时间】:2017-04-27 14:39:33
【问题描述】:
我正在尝试保存userName,但保存的文本文件总是返回, 6。我怎样才能让它显示输入EditText 的用户名的任何值,以及其余的?例如Don, 6。我已阅读您必须使用 getText() 但这不会在保存的文件中返回任何内容。
但是,如果我将6 替换为从以前的活动中接收分数的意图,则此方法有效!像这样……
Bundle extras = getIntent().getExtras();
int score = extras.getInt("Score");
所以这就变成了……
public void addListenerToEndButton() {
quit = (Button) findViewById(R.id.endBtn);
userName = (EditText) findViewById(R.id.userName);
Bundle extras = getIntent().getExtras();
int score = extras.getInt("score");
quit.setOnClickListener(new View.OnClickListener() {
String strName = userName.getText().toString();
@Override
public void onClick(View v) {
saveProgress(strName + ", " + score, "results.txt");
finish();
System.exit(0);
}
});
}
但它仍然返回empty, whatever score is。例如, 4。
我读过这篇文章,建议它应该在 onClickListener 里面: EditText getText().toString() not working
这是我的saveProgress 班级:
public void saveProgress(String contents, String fileName) {
try {
File fp = new File(this.getFilesDir(), fileName);
FileWriter out = new FileWriter(fp);
out.append(contents);
out.append("\n\r");
out.close();
}
catch (IOException e) {
Log.d("Me","file error:" + e);
}
}
【问题讨论】:
-
不是您在onclick方法之外检索edittext的文本的问题吗?尝试在 onClick 内移动它
标签: android android-edittext filewriter