Android - 无法检查editText是否为空

时间:2018-05-06 04:48:38

标签: android android-edittext

我想确保我的editText不为空,我尝试使用var.matches("")var.isEmpty(),但它不起作用。 我在YouTube上找到了一个使用Listener的教程,但我的sdk说错误。

public  void AddData() {
   convert();

        btnAddData.setOnClickListener(
                new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
            if(validate){
                                boolean isInserted = myDb.insertData(editCourseID.getText().toString(), editCourses.getText().toString(),
                                        editRoom.getText().toString(),
                                        editDay.getText().toString()
                                        , editTime.getText().toString()
                                        , editLecturer.getText().toString()
                                );
                                if (isInserted == true)
                                    Toast.makeText(AddSchedulel.this, "Data Inserted", Toast.LENGTH_LONG).show();
                                else
                                    Toast.makeText(AddSchedule.this, "Data not Inserted", Toast.LENGTH_LONG).show();
                }
                            }

                }
        );

    MainActivity.ma.RefreshList();
}



  public void convert(){
        courseID = editCourseID.getText().toString().trim();
        courses = editCourse.getText().toString().trim();
        room = editRoom.getText().toString().trim();
        day   = editDay.getText().toString().trim();
        time = editJam.getTime().toString().trim();
        lecturer = editLecturer.getText().toString().trim();

    }

public boolean validate(){
    boolean valid = true;
    if(courseID.matches("")){
         valid = false;
    }
    if(courses.matches("")){
        valid = false;
    }
    if(room.matches("")){
        valid = false;
    }
    if(day.matches("")){
        valid = false;
    }
    if(time.matches("")){
        valid = false;
    }
    if (lecturer.matches("")){
        valid = false;
    }
    return valid;
}

我该怎么做? 有人可以帮助我找到我的代码有什么问题

2 个答案:

答案 0 :(得分:0)

调用if(validate())而不是if(validate)

答案 1 :(得分:0)

为什么要在AddData方法中设置监听器? 目前还不是很清楚你想做什么,但我的印象是你应该在onClick监听器中调用convert(),否则变量将在点击之前设置。 另一件事是你不应该使用匹配

private boolean validate(){
    return isNotEmpty(courseID) && isNotEmpty(courses);
}

private boolean isNotEmpty(String string) {
    return !string.equals("");
}