Android之简单实现ButterKnife中的injectView的方案

首先说这里面用的知识点,注解、反射。

Android中findViewById(int resId)接受一个int的id参数,即通过资源id就可以找到对应的View。通过注解(annotation),我们可以资源id声明在对应的field上面,通过Java的反射,遍历每个field,找到对应的id,就可以初始化这个field(即view)。

1、注解声明

1
2
3
4
5
6
7
8
9
// 表示用在字段上
@Target(ElementType.FIELD)
// 表示在生命周期是运行时
@Retention(RetentionPolicy.RUNTIME)
//注解类,实现findViewById功能
public @interface FindView {
int findViewByResId() default 0;
}


本站访问量   |   您是第 位.