- Forum-Beiträge: 336
14.06.2014, 15:07:56 via Website
14.06.2014 15:07:56 via Website
Hi Leute,
ich hab ein kleines Problem und finde den kleinen Fehler einfach nicht . Ich habe 2 Buttons und ein EditText. Wenn man den einen Button auslöst wird der Inhalt des EditText mit Hilfe von FileOutputStream und OutputStreamWriter gespeichert. Wenn der andere Button ausgelöst wird, wird der zuvor gespeicherte Text mit FileInputStream und InputStreamWriter ausgelesen und in das selbe EditText geschrieben. Das klappt soweit auch problemlos, aber aus irgendeinem Grund kann ich dann nicht mehr den Text löschen der in das EditText geschrieben wurde außer ich markiere alles und lösche es so, das funktioniert. Ich kann auch mitten im Wort löschen aber wenn ich versuche das Wort vom dessen letzten Buchstaben aus zu löschen funktioniert es nicht, es passiert einfach nichts. Ich hoffe man versteht was ich meine. Hier mein Code:
public void btnLesen(View view) {
EditText editText = (EditText) findViewById(R.id.editText);
writeFile(editText.getText().toString());
}
public void writeFile(String text) {
try {
FileOutputStream fileOutputStream;
OutputStreamWriter outputStreamWriter;
fileOutputStream = openFileOutput("text.txt", MODE_PRIVATE);
outputStreamWriter = new OutputStreamWriter(fileOutputStream);
outputStreamWriter.write(text);
outputStreamWriter.flush();
outputStreamWriter.close();
Toast.makeText(this, "Erfolgreich", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
Toast.makeText(this, "Fehlgeschlagen", Toast.LENGTH_SHORT).show();
}
}
public String readFile() {
FileInputStream fileInputStream;
InputStreamReader inputStreamReader;
char[] inputBuffer = new char[255];
String output = null;
try {
fileInputStream = openFileInput("text.txt"
inputStreamReader = new InputStreamReader(fileInputStream);
inputStreamReader.read(inputBuffer);
output = new String(inputBuffer);
inputStreamReader.close();
Toast.makeText(this, "Erfolgreich", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(this, "Fehlgeschlagen", Toast.LENGTH_SHORT).show();
}
return output;
}
public void btnSchreiben(View view){
EditText editText = (EditText) findViewById(R.id.editText);
editText.setText(readFile());
}
Edit: Ich habe gerade herausgefunden, dass das ganze schon beim Textlesen passiert und nicht beim schreiben.
— geändert am 14.06.2014, 15:44:47
Android Developer