您的位置:首页 > 移动开发 > Android开发

利用注解初始化View对象

2016-05-20 22:24 495 查看
为了避免每次使用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方法即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 注解 反射