利用注解初始化View对象

来源:互联网 发布:2016网络知识竞赛 编辑:程序博客网 时间:2024/05/29 02:37

为了避免每次使用Activity时都要利用findViewById一个个初始化语句,所以想利用注解来减少一些重复劳动

一、创建一个注解:

基本需要一个id即可以初始化一个View对象

/** * Created by chen on 2016/5/20. * @Target 设置目标为字段 * @Retention 设置作用域为运行时 */@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)public @interface ViewId {   int id();}

二、编写绑定组件到对象的工具类

public class BindViewUtil {    public static void bindViewByContext(Activity activity) {        try {            Class root = activity.getClass();            Field[] field = root.getDeclaredFields();            for (Field f : field) {                if (f.isAnnotationPresent(ViewId.class)) {                    f.setAccessible(true);                    ViewId idAnno=f.getAnnotation(ViewId.class);                    f.set(activity,activity.findViewById(idAnno.id()));                }            }        } catch (IllegalAccessException e) {            e.printStackTrace();        }    }}


三、使用如下

利用注解绑定id,在OnCreate方法中调用bindViewByContext方法即可

0 0
原创粉丝点击