2016-03-13 25 views
12

Ho eseguito l'aggiornamento ad Android 6 e ho visto alcune cose strane quando ho provato ad impostare la convalida per alcuni editTexts. Sto usando Android-saripaar per la convalida:Android 6 EditText.setError non funziona correttamente

@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; 

Per qualche ragione l'e-mail, password, confermare la password non sono che mostra il messaggio di errore sul pop-up, mentre il cognome e nome sono belle

enter image description here

Ho provato senza la libreria e si è verificato lo stesso problema. Utilizzo di editText.setError ("Alcuni messaggi") Questo non è accaduto prima di Android 6 e funzionava bene su 5.

Qualcuno con esperienza simile a questo? se sì, come lo hai risolto?

+0

non ho usato quella libreria, ma sembra un problema sul tema/stile. – 323go

+0

Prova la convalida senza quella libreria e controlla se non funziona ancora. Ho visto questo problema, ma penso che sia stato su Android 4.4 e 4.3 - mai su Marshmallow o Lollipop. – Darwind

+0

Ho anche lo stesso problema su Android 5.1 e 6.0 e non sto usando alcun plugin per la convalida. Questo funziona bene su Android 4.4 per me. – jdabrowski

risposta

2

uso getString(R.string.error_name)

+0

Ma la domanda mostra 'messageResId' -' getString (...) 'non restituirà un identificatore di risorsa ma la stringa effettiva, e sembra che la biblioteca voglia un identificatore di risorsa. –

1

Credo che questo sia legato al tema di attività, questo quello che sto usando e lavorare in Android 6.0:

attività tema:

<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> 

codice: Si prega di notare che sto estendendo activity non AppCompatActivity

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

TRY @NotEmpty annotazione Email campo EditText

@NotEmpty 
@Email 
private EditText email; 
Problemi correlati