编译报错:annotation value not of an allowable type 修复方法求助
编译错误修复指南:annotation value not of an allowable type & illegal initializer for int
先聚焦你提到的第9行核心错误——annotation value not of an allowable type:
问题原因
你用@BindView注解绑定一组View,但这个注解仅支持单个View的绑定。当你传入ID数组时,编译器会判定注解参数类型不合法,因为@BindView期望接收单个int类型的资源ID,而非int[]数组。
修复方案
把@BindView换成ButterKnife专门用于多View绑定的@BindViews(注意复数形式),修改后的代码如下:
@BindViews({R2.id.view_1, R2.id.view_2, R2.id.view_3, R2.id.view_4, R2.id.view_5}) View[] views;
另外请确认你的项目引入了支持@BindViews的ButterKnife版本(通常8.0及以上版本都支持,若使用旧版本建议升级到稳定版)。
关于第二个错误:illegal initializer for int
从你提供的代码片段里暂时找不到直接触发这个错误的代码,但常见触发场景有:
- 给
int类型的变量/常量使用了非法初始化方式,比如用数组语法初始化、或赋值了非int类型的值(如字符串、未强制转换的浮点值) - 可能存在于你未贴出的其他代码部分,比如某个
int常量的定义格式错误
你可以先检查项目中所有int类型的变量/常量初始化语句,确保赋值是合法的int值;如果能提供更多相关代码,就能更精准定位问题。
内容的提问来源于stack exchange,提问作者user9175219
相关产品推荐
相关产品推荐

