向导机器人上的文本验证

text validation on wizard droid

我正在使用 Wizardroid 将项目添加到我的主列表视图,该向导包含 3 个 "pages",其中每个我都有多个编辑文本字段。

我需要对输入进行文本验证,因为字段不能为空,因此我使用了 "addTextChangedListener"。当用户在正在验证的字段中输入文本时,我正在调用 "notifycomplete" 到 "release" "next" 按钮。

主要问题是,当我使用此侦听器时,键盘会在键入一个字符后自动隐藏,然后 edittext 需要重新获得焦点才能再次显示键盘。

当我删除 "addTextChangedListener" 方法中的代码时,键盘保持不动。

有人可以提出适当的验证检查,不会导致键盘被隐藏,或者改变一个正确的方法来保持键盘吗?

ed_name.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

     }

    @Override
    public void afterTextChanged(Editable s) {
        if(s.length()>0)
        {
            notifyCompleted();
        }
        else {
            ed_name.setError(getResources().getString(R.string.wiz_empty_field_err));
            notifyIncomplete();
        }

    }
}); 

我最后做的是使用 wizardroid 自定义布局,并通过这样做获得对 "next" 按钮的控制权。单击后会验证文本字段。