例如,这段代码:
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.GINGERBREAD) {
myCalendarView.setOnDateChangeListener(
new OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
Toast.makeText
(
getApplicationContext(), ""+dayOfMonth, 0
).show();
}
}
);
}
出现错误:
描述 资源 路径 位置 类型 调用需要API级别11(当前最低级别为8): android.widget.CalendarView#setOnDateChangeListener example.java /example/src/com/example/example line 20 Android Lint问题
我知道为什么在编译时会出现这个错误。但是有没有办法标记源Java类只在某些API级别-11上使用?或者将代码块包围在define /类似的东西中,以便代码只在API级别-11以上的设备上进行延迟绑定/ Jitted? 如何实现我的目标的最佳解决方案? (就是在能够支持CalendarView的设备上提供一个Activity。)