userName
を保存しようとしていますが、保存されたテキストファイルは常に, 6
を返します。 EditText
に入力されたuserNameの値とそれ以外の値を表示するにはどうすればよいですか?例えば、Don, 6
。私はあなたがgetText()
を使用しなければならないと読んだが、それは保存されたファイルに何も戻っていない。getText()。toString()が機能しない、空を返します
ただし、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のテキストを取得することは問題ではありませんか?あなたの中にそれを移動してみてください –