Android表单验证

时间:2014-06-15 18:43:38

标签: java android

我是android新手。我有一个表单,可以在点击时将值存储到共享首选项。我需要首先验证这些值然后提交。 我尝试过一种简单的机制,但它对我不起作用。

@Override
    public void onClick(View v) {                                   //proceed button

        // TODO Auto-generated method stub

            String fname = e1.getText().toString();
            String lname = e2.getText().toString();
            String phone = e3.getText().toString();
            String adress = e4.getText().toString();
            String email = e5.getText().toString();
            if(fname==null)
            {
                e1.setError("null");
            }
            else
            {
            Editor ed = sp.edit();
            ed.putString("fname", fname);
            ed.putString("lname", lname);
            ed.putString("phone", phone);
            ed.putString("adress", adress);
            ed.putString("email", email);

            ed.commit();
            Toast.makeText(getApplicationContext(), "Saved", Toast.LENGTH_LONG).show();



            }

这里if子句不起作用,值保存天气fname为空。

2 个答案:

答案 0 :(得分:1)

如果EditText e1为空,则以下表达式将导致空字符串""。它不会是null

String fname = e1.getText().toString();

所以,请按以下方式检查:

if("".equals(fname)) {
    e1.setError("empty");
}

答案 1 :(得分:0)

fname不是null,但它是空的,因此请使用fname.isEmpty()代替fname == null

if(fname.isEmpty())
{
    e1.setError("null");
}