Android SariPar formvalidation在kotlin第二次不起作用
我使用的是表单验证。我在fragmentA中有一些编辑文本,验证成功后,视图将切换到fragmentB。Android SariPar formvalidation在kotlin第二次不起作用,android,forms,validation,kotlin,saripaar,Android,Forms,Validation,Kotlin,Saripaar,我使用的是表单验证。我在fragmentA中有一些编辑文本,验证成功后,视图将切换到fragmentB。 片段中的Butterknife和Saripar注释 @NotEmpty @BindView(R.id.nameEditText) lateinit var nameEditText: EditText SariPar初始化: val validator = Validator(this) validator.setValidationListener(this) 要验证字段,请执行以
片段中的Butterknife和Saripar注释
@NotEmpty
@BindView(R.id.nameEditText)
lateinit var nameEditText: EditText
SariPar初始化:
val validator = Validator(this)
validator.setValidationListener(this)
要验证字段,请执行以下操作:
validator.validate()
验证第一次运行良好。当从fragmentB返回fragmentA时,验证不起作用,它将直接调用onvalidationsuccess
在验证成功时,我使用以下函数切换到fragmentB
fun openFragment(fragment: Fragment) {
val ft = activity.supportFragmentManager.beginTransaction()
ft.replace(R.id.container, fragment)
ft.addToBackStack(null)
ft.commitAllowingStateLoss()
}
这个问题只出现在kotlin中,而不出现在java中。我解决了这个问题,我在basefragment中完成了所有SariPar初始化,我在basefragment中完成了以下代码,并对验证器实例进行了null检查:
if(validator==null){
validator = Validator(this)
validator.setValidationListener(this)
}
当我删除空检查部分时,现在它工作正常
validator = Validator(this)
validator.setValidationListener(this)
发布相关代码。@azizbekian问题已用代码更新。您从哪里执行
validator.validate()
?也发布片段/活动。片段a中有一个提交按钮,单击提交按钮,我验证了表单,即validator.validate()
@captaindroid buildToolsVersion“26.0.2”和实现'com.mobsandgeeks:android saripar:2.0.3'