【发布时间】:2016-01-12 00:09:58
【问题描述】:
我正在尝试制作一些自定义注释以减少我的 Android 应用程序中的样板代码。我知道这是可行的,因为有许多库使用相同的技术,例如ButterKnife。所以想象一下这个简单的 Android Activity。我想知道如何让CustomLibrary.printGoodInts 以我想要的方式工作(可能使用反射)。
PS:如果我的问题很疯狂并且无法简单回答,那么一份好的参考资料对我也很有帮助:)
public class MainActivity extends Activity {
@GoodInt
private int m1 = 10;
@GoodInt
private int m2 = 20;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CustomLibrary.printGoodInts(this); // <<<<<<<<<< This is where magic happens
}
}
public class CustomLibrary {
public static void printGoodInts(Object obj){
// Find all member variables that are int and labeled as @GoodInt
// Print them!!
}
}
【问题讨论】:
标签: java android reflection annotations