ファイルを読み取って EditText にテキストを設定しようとしていますが、毎回アプリが閉じられます。誰かがこのコードの何が問題なのか教えてもらえますか?
package com.example;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.widget.*;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class EditNoteActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
String FILENAME = "note_file";
EditText text = (EditText) findViewById(R.id.editText1);
byte[] buffer = new byte[100];
super.onCreate(savedInstanceState);
setContentView(R.layout.editnote);
//Intent intent = getIntent();
FileInputStream fos = null;
try {
fos = openFileInput(FILENAME);
} catch (FileNotFoundException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
assert fos != null;
try {
fos.read(buffer, 0, 10);
String str = buffer.toString();
text.setTextSize(48);
text.setText(str);
} catch (IOException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
}
public void onClickSave(View theButton) {
//Intent intent = new Intent(this, MyActivity.class);
//startActivity(intent);
String FILENAME = "note_file";
EditText text = (EditText) findViewById(R.id.editText1);
FileOutputStream fos = null;
try {
fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
} catch (FileNotFoundException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
assert fos != null;
try {
fos.write(text.getText().toString().getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
finish();
}
public void onClickBack(View theButton) {
//Intent intent = new Intent(this, MyActivity.class);
//startActivity(intent);
finish();
}
}
これを編集して無関係なコードを削除しようとしましたが、「あなたの投稿には、コード セクションを説明するコンテキストがあまりありません。シナリオをより明確に説明してください。」というエラーが表示されました。残念ながらあまり多くはありませんが、とにかくこの質問には答えがあります。