2016-03-13 45 views
12

Podskoczyłem na system Android 6 i widziałem dziwne rzeczy podczas próby ustawienia sprawdzania poprawności dla niektórych edycji tekstów. Używam Android saripaar walidacji:Android 6 EditText.setError nie działa poprawnie

@Email(messageResId = R.string.error_email) 
private EditText email; 
@Password(min = 6, scheme = Password.Scheme.ALPHA_NUMERIC_MIXED_CASE_SYMBOLS) 
private EditText password; 
@ConfirmPassword 
private EditText repassword; 
@NotEmpty(messageResId = R.string.error_name) 
private EditText firstname; 
@NotEmpty(messageResId = R.string.error_name) 
private EditText lastname; 
private Validator mValidator; 

jakiegoś powodu e-mail, hasło, potwierdź hasło nie wyświetlają komunikat o błędzie popup, natomiast nazwisko i imię są w porządku

enter image description here

Próbowałem bez biblioteki i wystąpił ten sam problem. Korzystanie z editText.setError ("Some Message") To nie stało się przed Androidem 6 i działało poprawnie na 5.

Ktoś doświadczył czegoś podobnego? jeśli tak, to jak to naprawiłeś?

+0

Nie używałem tej biblioteki, ale wygląda na to zagadnienie temat/styl. – 323go

+0

Wypróbuj sprawdzanie poprawności bez tej biblioteki i sprawdź, czy nadal nie działa. Widziałem ten problem, ale myślę, że było to na Androidzie 4.4 i 4.3 - nigdy na Marshmallow lub Lollipop. – Darwind

+0

Mam również ten sam problem na Android 5.1 i 6.0 i nie używam żadnej wtyczki do sprawdzania poprawności. Działa to dobrze na Android 4.4 dla mnie. – jdabrowski

Odpowiedz

2

użycie getString(R.string.error_name)

+0

Ale pytanie pokazuje 'messageResId' -' getString (...) 'nie zwróci identyfikatora zasobu, ale rzeczywisty ciąg i wydaje się, że biblioteka chce identyfikatora zasobu. –

1

myślę, że to jest związane z działalnością tematu, to co używam i działa w Android 6.0:

aktywność motyw:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

kod: uwaga: przedłużam activity nie AppCompatActivity

myeditText.setError("Please enter valid email"); 
myeditText.setFocusable(true); 
1

TRY @NotEmpty adnotacji na e-mail EditText dziedzinie

@NotEmpty 
@Email 
private EditText email;