根据EditText的内容写入文件
问题描述:
我在编辑文件时出现问题,当EditText为空时我想在我的文件中写入单个空格字符或-
,但我的条件被忽略。根据EditText的内容写入文件
这不是工作,我不明白为什么:
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();
}
}
}
});
答
取而代之的是
question.getText().toString().equals("")
尝试这样
question.getText().toString().length()==0
+0
谢谢你这是有用的知道 – CELB 2012-04-28 14:39:33
答
您需要修剪的文字除了检查长度:
if (question.getText().toString().trim().length() == 0) {
}
一个更大的问题是您的代码写入主线程上的文件系统。您也不要在finally块中关闭FileWriter。并且在close()之前不需要调用flush()。
+0
你能解释一下吗? – CELB 2012-04-28 16:13:47
第一个显而易见的想法是'isthereafile'是错误的 - 您是否尝试过使用调试器或记录数值? – RivieraKid 2012-04-28 14:33:16
感谢您的帮助,但onClick方法isthereafile成为真实的,这是当用户推回按钮和dosnt点击对话框上的“确定”,防止崩溃等... – CELB 2012-04-28 14:41:09
显示代码也... – 5hssba 2012-04-28 14:45:34