我正在使用Wizardroid将项目添加到我的主列表视图中,该向导包含3个“页面”,其中每个页面都有多个edittext字段。
我需要对输入进行文本验证,因为字段不能为空,因此我使用了“addTextChangedListener”。当用户在字段中输入文本时,它正在验证,我正在调用“notifycomplete”来“释放”“下一步”按钮。
主要问题是当我使用这个监听器时键盘会在键入一个字符后自动隐藏,然后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();
}
}
});
答案 0 :(得分:0)
我最终做的是使用wizardroid自定义布局,并通过这样做来控制“下一步”按钮。点击后,会对文本字段进行验证。