必须在保存前写点东西

时间:2015-01-29 09:01:34

标签: android android-edittext

我有一个编辑文本,我希望很快能够保存,但为了能够保存我有你必须写东西,我只需要代码检查编辑文本中是否有任何内容。

当我按下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();
        }
    }
}

1 个答案:

答案 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();