EditTextが空のときにファイルへの書き込みに問題があります。ファイルに空白文字(-
)を1つ書きたいだけですが、条件は単純に無視されます。EditTextの内容に基づいてファイルに書き込む
これが動作していないと、なぜ私は理解していない。その代わり、この
question.getText().toString().equals("")
の
public void onClick(View v) {
// TODO Auto-generated method stub
if(isthereafile == true){
questioncount++;
questiontext = question.getText().toString();
correctanswertext = correctanswer.getText().toString();
wronganswertext1 = wronganswer1.getText().toString();
wronganswertext2 = wronganswer2.getText().toString();
textpathofpic = pathofpic.getText().toString();
try {
FileWriter writer = new FileWriter(test,true);
if(question.getText().toString().equals("") == false){
writer.append(questiontext + ";");}
if(correctanswer.getText().toString().equals("") == false){
writer.append(correctanswertext + ";");}
if(wronganswer1.getText().toString().equals("") == false){
writer.append(wronganswertext1 + ";");}
if(wronganswer2.getText().toString().equals("") == false){
writer.append(wronganswertext2 + ";");}
if(pathofpic.getText().toString().equals("") == false){
writer.append(textpathofpic + ";");}
if(question.getText().toString().equals("")){writer.append("-");}
if(correctanswer.getText().toString().equals("")){writer.append("-");}
if(wronganswer1.getText().toString().equals("")){writer.append("-");}
if(wronganswer2.getText().toString().equals("")){writer.append(" ");}
writer.flush();
writer.close();
question.setText("");
correctanswer.setText("");
wronganswer1.setText("");
wronganswer2.setText("");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
最初の明白な考えは、isthereafileが間違っているということです。デバッガでステップインしたり、値を記録しようとしましたか? – RivieraKid
あなたの助けてくれてありがとうございますが、onClick methond isthereafileが真実になったのは、これはユーザーがバックボタンを押してダイアログボックスの[OK]をクリックするとクラッシュなどが起きたときです。 – CELB
コードも表示します... – 5hssba