J'essaie d'enregistrer userName
mais le fichier texte enregistré retourne toujours , 6
. Comment puis-je l'obtenir pour montrer quelle que soit la valeur de userName entré dans EditText
, et le reste? par exemple Don, 6
. J'ai lu que vous devez utiliser getText()
mais cela ne retourne rien dans le fichier enregistré.getText(). ToString() ne fonctionne pas, retourne vide
Cependant, si je remplace 6
avec l'intention de recevoir le score de l'activité précédente, cela fonctionne! comme ça ...
Bundle extras = getIntent().getExtras();
int score = extras.getInt("Score");
donc cela va devenir ...
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);
}
});
}
Mais il revient encore empty, whatever score is
. Par exemple , 4
.
J'ai lu ce post qui suggère qu'il devrait être à l'intérieur onClickListener qu'il est: EditText getText().toString() not working
Ceci est ma saveProgress
classe:
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);
}
}
n'est pas le problème que vous récupérez le texte de l'edittext en dehors de la méthode onclick? essayez de le déplacer à l'intérieur de l'onClick –