Saripaar formvalidation不能在kotlin中第二次使用
我正在使用saripaar进行表单验证。 我在fragmentA中有一些编辑文本,验证成功时,视图将切换到fragmentB。
碎片中的切刀和saripaar注释。
@NotEmpty @BindView(R.id.nameEditText) lateinit var nameEditText: EditText
Saripaar初始化:
val validator = Validator(this) validator.setValidationListener(this)
验证字段:
validator.validate()
验证是第一次正常工作。 当从fragmentB返回到fragmentA时,验证不起作用,它将直接调用validationsuccess。
在onValidationSucceeded上 ,我正在使用下面的函数切换到fragmentB。
fun openFragment(fragment: Fragment) { val ft = activity.supportFragmentManager.beginTransaction() ft.replace(R.id.container, fragment) ft.addToBackStack(null) ft.commitAllowingStateLoss() }
这个问题只出现在kotlin中,而不是在java中。
我解决了这个问题,我已经在basefragment所有的saripaar初始化,我有以下代码在basefragment与验证器实例的空检查:
if(validator==null){ validator = Validator(this) validator.setValidationListener(this) }
当我删除空检查部分,现在它的工作正常。
validator = Validator(this) validator.setValidationListener(this)