社区
Android
帖子详情
BindView fields must not be private or static,在源码中的位置?
cdcdec
2018-06-21 07:33:02
因为使用ButterKnife时,使用private修饰了fields,所以报错了。想在ButterKnife框架源码中找到"@BindView fields must not be private or static",却没有找到?这句不在ButterKnife源码里面吗?是编译器给出的吗?
...全文
21429
6
打赏
收藏
BindView fields must not be private or static,在源码中的位置?
因为使用ButterKnife时,使用private修饰了fields,所以报错了。想在ButterKnife框架源码中找到"@BindView fields must not be private or static",却没有找到?这句不在ButterKnife源码里面吗?是编译器给出的吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
祝愿大家都不脱发
2020-09-02
打赏
举报
回复
人家提示了不要用private或者static,那咱们又要用人家的东西,就听人家的就不用private了呗
WCX_1234
2020-08-27
打赏
举报
回复
你在放屁 好像不是的公司的和黑格尔的
王能
2019-02-25
打赏
举报
回复
黄油刀不能使用private修饰符,其他的public、Default、protected都行,黄油刀的原理就是同目录生成一个类,所以不能用private修饰黄油刀注解的东西
snail201211
2019-02-22
打赏
举报
回复
使用public修饰符即可~
snail201211
2019-02-22
打赏
举报
回复
请参考源码:
private static <T extends AccessibleObject & Member> void validateMember(T object) {
int modifiers = object.getModifiers();
if ((modifiers & (PRIVATE | STATIC)) != 0) {
throw new IllegalStateException(object.getDeclaringClass().getName()
+ "."
+ object.getName()
+ " must not be private or static");
}
if ((modifiers & PUBLIC) == 0) {
object.setAccessible(true);
}
}
r00_a2lBUR
2018-09-02
打赏
举报
回复
可以考虑用public
Android ButterKnife
源码
解析
//注释将由编译器记录在类文件
中
,并且在运行时由VM保留,因此可以反射地读取它们 @Target(
FIELD
) //字段声明(包括枚举常量) public @interface
Bind
View
{ /**
View
ID to which the
field
will be bound....
编译时注解Butterknife
源码
解析之深入篇(雷惊风)
上篇文章我对Butterknife实现做了一些基础的说明,本篇文章我将向大家详细分析@
Bind
View
、@OnClick解析流程、生成
Bind
ingSet对应Java文件流程及我们调用ButterKnife.
bind
(this)后ButterKnife与生成Java文件的建立...
浅析ButterKnife的实现 (三) ——
Bind
View
_error(messager, element, "@%s
field
s must extend from
View
or be an interface. (%s.%s)",
Bind
.class.getSimpleName(), enclosingElement.getQualifiedName(), element.getSimpleName()); return; } // ...
分分钟带你读懂-ButterKnife-的
源码
private
或者
static
修饰的,则出错 // 判断是否被注解在错误的包
中
,若包名以“android”或者“java”开头,则出错 boolean hasError = isInaccessibleViaGeneratedCode(
Bind
View
.class, “
field
s”, element) || ...
简谈
源码
-ButterKnife(v10.2.3)
ButterKnife官网 用法示例 ... public class SimpleActivity extends Activity ... @
Bind
View
(R.id.hello) Button hello; @
Bind
View
(R.id.titleTv) Text
View
titleTv; @OnClick(R.id.hello) void sayHello() { Toast.
Android
80,476
社区成员
91,391
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章