Android对Cast和listener的反思

Android对Cast和listener的反思,android,reflection,Android,Reflection,我有一个minsdk=4的应用程序 我想在支持此功能的设备上使用calendarview类(api>=11) 我更喜欢包装类之上的反射,这样就不必增加构建api级别。 这样可以防止意外使用新函数和产生错误 这是我代码的一部分 CalendarView cv = (CalendarView) findViewById(R.id.calview); cv.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {

我有一个minsdk=4的应用程序

我想在支持此功能的设备上使用calendarview类(api>=11) 我更喜欢包装类之上的反射,这样就不必增加构建api级别。 这样可以防止意外使用新函数和产生错误

这是我代码的一部分

    CalendarView cv = (CalendarView) findViewById(R.id.calview);
    cv.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {

        public void onSelectedDayChange(CalendarView view, int year,
                int month, int dayOfMonth) {
            ....
            ....
我没法把这件事做好。 不断发现反射很难得到


thxs有一种解决方案

我对包装类的主要担忧是,意外使用新api不会被标记为错误,因此我可以很容易地在我的应用程序中引入新的bug

但自ADT 17以来,lintcheck对此进行了检查

见:

注意。它不会在我的eclipse安装中自动运行(即使启用了“保存”和“导出”两个复选框) 我必须右键单击我的项目,android工具->运行lint


这对我来说是一个很好的解决方案,因此从现在起我将很高兴地与反射说再见。

要消除布局错误,请在xml元素中添加:xmlns:tools=”“tools:ignore=“NewApi”