微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在android中将declare-styleable转换为int数组

如何解决如何在android中将declare-styleable转换为int数组

我正在创建一个自定义的 EmailValidatorEditText,用于随时随地验证电子邮件。为此,我必须在此处向 EmailValidatorEditText 添加自定义属性 state_error 这是一个布尔值并告诉电子邮件是否有效。 这是我的 attrs.xml

<resources>
    <declare-styleable name="EditTextErrorState">
        <attr name="state_error" format="boolean"/>
    </declare-styleable>
</resources>

在 Kotlin 中我们可以很容易地做到如下

private val stateError = intArrayOf(R.attr.state_error)

在java中我正在尝试做这样的事情

   protected int[] onCreateDrawableState(int extraSpace) {
        int[] drawableState= super.onCreateDrawableState(extraSpace+2);
        int[] stateError = new int[R.attr.state_error];

        if(shouldShowError){
            View.mergeDrawableStates(drawableState,stateError);
        }
        return drawableState;
    }

但是我在充气时遇到错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。