import android.app.Activity;
import android.view.View;
import com.bwie.yanzhenrui0325.view.interfaces.FindViewById;
import java.lang.reflect.Field;
/**
*
* @Date: 2019/3/25 13:18:19
* @Description:
*/
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();
}
}
}
}
}
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* @Date: 2019/3/25 13:21:11
* @Description:
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface FindViewById {
int value();
}
Butter.parse(this);
Butter详解
猜你喜欢
转载自blog.csdn.net/qq_40432465/article/details/88940605
今日推荐
周排行