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源码分析

ButterKnife 原理

Android butterknife 实现原理

Android APT编译时技术 ( ButterKnife 原理分析 )

ButterKnife实现原理

Butterknife 在我的 Android 应用程序中根本不起作用