Android 6 EditText.setError无法正常工作

时间:2016-03-13 01:37:08

标签: android android-edittext android-6.0-marshmallow saripaar

在尝试为某些editTexts设置验证时,我已升级到android 6并看到一些奇怪的事情。 我正在使用android-saripaar进行验证:

@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

我试过没有库,发生了同样的问题。 使用editText.setError(“Some Message”) 这在Android 6之前没有发生,并且在5上工作正常。

任何人都有类似的经历吗?如果是这样你是怎么解决的?

3 个答案:

答案 0 :(得分:2)

使用getString(R.string.error_name)

答案 1 :(得分:1)

我认为这与活动主题有关,这就是我在Android 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);

答案 2 :(得分:1)

在电子邮件edittext字段

上搜索CNContactViewController注释
@NotEmpty