2016-03-13 19 views
12

一部のeditTextの検証を設定しようとすると、アンドロイド6にアップグレードして奇妙なことがあります。 私は検証のためにアンドロイド-saripaarを使用しています:Android 6 EditText.setErrorが正しく動作しない

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

何らかの理由で、電子メール、パスワードを、ポップアップ上のエラーメッセージが表示されていないパスワードを確認し、姓と名が

enter image description here罰金している間

ライブラリなしで試したところ、同じ問題が発生しました。 6をAndroidに前と5

誰に細かい仕事をしていたが、これに似た経験起こらなかったeditText.setError(「いくつかのメッセージ」) これを使用していますか?もしそうなら、どうやってそれを修正しましたか?

+0

私はそのライブラリを使用していないが、それは、テーマ/スタイルの問題のように見えます。 – 323go

+0

そのライブラリを使用せずに検証を試し、それでも動作しないかどうかを確認してください。私はこの問題を見てきましたが、Android 4.4と4.3であったと思います。決してマシュマロまたはロリポップではありません。 – Darwind

+0

また、アンドロイド5.1と6.0で同じ問題が発生しています。私は検証のためにプラグインを使用していません。これは私のためにアンドロイド4.4でうまく動作します。 – jdabrowski

答えて

2

使用getString(R.string.error_name)

+0

しかし、質問に 'messageResId'と表示されます - ' getString(...) 'はリソース識別子ではなく実際の文字列を返し、ライブラリがリソース識別子を望んでいるようです。 –

1

私は、これは活動のテーマに関連していると思いますが、私が使用してアンドロイド6.0で働いている何本:

活動テーマ:

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

コード:私は延長していますのでご注意くださいactivityはありませんAppCompatActivity

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

TRYメールのEditTextフィールド上@NotEmpty注釈

@NotEmpty 
@Email 
private EditText email; 
関連する問題