2017-10-11 93 views
10

Używam sprawdzania poprawności formularza saripaar. Mam fragment editekstowy w fragmencie A, po sukcesie sprawdzania poprawności widok zostanie przełączony na fragmentB.
Adnotacja nożyka i saripary w fragmencie.Formulacja Saripaar nie działa po raz drugi w kotlinie

@NotEmpty 
@BindView(R.id.nameEditText) 
lateinit var nameEditText: EditText 

Saripaar inicjalizacji:

val validator = Validator(this) 
validator.setValidationListener(this) 

do sprawdzania poprawności pola:

validator.validate() 

Validation działa poprawnie po raz pierwszy. Po powrocie z fragmentu B do fragmentu A, walidacja nie działa, spowoduje natychmiastowe wywołanie weryfikacji.

Na onValidation Przycięty, używam następujących funkcji, aby przejść do fragmentB.

fun openFragment(fragment: Fragment) { 
    val ft = activity.supportFragmentManager.beginTransaction() 
    ft.replace(R.id.container, fragment) 
    ft.addToBackStack(null) 
    ft.commitAllowingStateLoss() 
} 

Ten problem pojawia się tylko w kotlinach, ale nie w java.

+0

Kod związany z postem. – azizbekian

+0

@azizbekian pytanie zaktualizowane o kod. – captaindroid

+1

Skąd bierzesz 'validator.validate()'? Opublikuj także fragment/aktywność. – azizbekian

Odpowiedz

3

I rozwiązać problem, mam wszystkie inicjalizacji saripaar w basefragment, mam następujący kod w basefragment z zerowym czekiem na przykład walidatora:

if(validator==null){ 
validator = Validator(this) 
validator.setValidationListener(this) 
} 

Jak usunąłem zerowej części wyboru, teraz jego pracy w porządku.

validator = Validator(this) 
validator.setValidationListener(this) 
Powiązane problemy