ButterKnife 原理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ButterKnife 原理相关的知识,希望对你有一定的参考价值。
在含有ButterKnife工程中你会 ButterKnife会帮你生成一些类似$ViewBinder文件 文件用反编译工具打开你会看到如下代码:
public class ExampleActivity$$ViewBinder<T extends
io.bxbxbai.samples.ui.ExampleActivity> implements ViewBinder<T> {
@Override public void bind(final Finder finder, final T target, Object source) {
View view;
view = finder.findRequiredView(source, 21313618, “field ‘user’”);
target.username = finder.castView(view, 21313618, “field ‘user’”);
view = finder.findRequiredView(source, 21313618, “field ‘pass’”);
target.password = finder.castView(view, 21313618, “field ‘pass’”);
view = finder.findRequiredView(source, 21313618, “field ‘submit’ and method ‘submit’”);
view.setOnClickListener(
new butterknife.internal.DebouncingOnClickListener() {
@Override public void doClick(android.view.View p0) {
target.submit();
}
});
}
以上是关于ButterKnife 原理的主要内容,如果未能解决你的问题,请参考以下文章
ButterKnife编译时生成代码原理:butterknife-compiler源码分析