我有一个编辑文本,我希望很快能够保存,但为了能够保存我有你必须写东西,我只需要代码检查编辑文本中是否有任何内容。
当我按下goback按钮时我想回去,如果我没有写任何东西,我想保存,如果它有写入的东西。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_anteckningsblock);
Button button = (Button)findViewById(R.id.GoBack);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
maybeSave();
Intent i = new Intent(anteckningsblock.this, Notelist.class);
startActivity(i);
}
});
}
void maybeSave(){
String yourText = EditText.getText().toString();
if(yourText!=null && yourText.isEmpty()){
//nothing written
}
else{
save();
}
}
void save() {
try {
File file = new File(getApplicationContext().getFilesDir(), "anteckning.txt");
FileOutputStream fos = new FileOutputStream(file);
DataOutputStream dos = new DataOutputStream(fos);
dos.writeUTF("Namnet på anteckningen");
dos.writeUTF("Innehållet");
dos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:1)
简单:
String yourText = yourEditText.getText().toString();
if(yourText!=null && yourText.isEmpty()){
//nothing written
}else{
save();
}
如果你想确定,String不仅仅是一些空格,请在得到字符串后写:
yourText = yourText().trim();
将删除末尾的空格,如果String只包含空格
,则删除所有空格当您从editText获取文本时,关于错误的第二个问题是,您试图获取这样的文本:
String yourText = EditText.getText().toString();
但这没有任何意义,你只是尝试从Object EditText中获取文本。但这永远不会奏效。你需要的是你自己的EditText对象名。您写道,您将从您的EditText中获取文本,因此我怀疑您已将其初始化为类似这样的地方:
private EditText editText = (EditText) findViewById(R.id.yourEditTextId);
那一定是:
String yourText = editText.getText().toString();