ContentView注解的定义:
ViewUtils中的注解部分:
使用方法:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface ContentView {
int value();
}ViewUtils中的注解部分:
Class<?> handlerType = handler.getClass();
// inject ContentView
ContentView contentView = handlerType.getAnnotation(ContentView.class);
if (contentView != null) {
try {
Method setContentViewMethod = handlerType.getMethod("setContentView", int.class);
setContentViewMethod.invoke(handler, contentView.value());
} catch (Throwable e) {
LogUtils.e(e.getMessage(), e);
}
}使用方法:
@ContentView(R.layout.activity_main) //因为只有一个属性且属性名为value,所以可以忽略属性名
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ViewUtils.inject(this);
}
}
本文介绍如何在Android应用中使用ContentView注解来简化视图注入过程,提高代码可读性和维护性。通过注解处理器,实现自动化视图绑定,减少手动设置 setContentView 方法的繁琐操作。
1542

被折叠的 条评论
为什么被折叠?



