package me.wcy.music.utils.binding;
import android.app.Activity;
import android.view.View;
import java.lang.reflect.Field;
public class ViewBinder {
public static void bind(Activity activity) {
bind(activity, activity.getWindow().getDecorView());
}
public static void bind(Object target, View source) {
Field[] fields = target.getClass().getDeclaredFields();
if (fields != null && fields.length > 0) {
for (Field field : fields) {
try {
field.setAccessible(true);
if (field.get(target) != null) {
continue;
}
Bind bind = field.getAnnotation(Bind.class);
if (bind != null) {
int viewId = bind.value();
field.set(target, source.findViewById(viewId));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}