public class Butter {
public static void parse(Activity activity){
Class<? extends Activity> aClass = activity.getClass();
Field[] declaredFields = aClass.getDeclaredFields();
for (Field field : declaredFields) {
boolean annotationPresent = field.isAnnotationPresent(FindViewById.class);
if(annotationPresent){
FindViewById annotation = field.getAnnotation(FindViewById.class);
int value = annotation.value();
View viewById = activity.findViewById(value);
field.setAccessible(true);
try {
field.set(activity,viewById);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface FindViewById {
int value();
}