我最近在Android版本10上运行的Android应用程序中发现了一个致命错误:
((Button)alert.findViewById(android.R.id.button1)).setAllCaps(true);
我在android:minSdkVersion="9"
中设置了AndroidManifest.xml
。
根本原因是android.widget.Button继承自android.widget.TextView,而setAllCaps方法在API级别14中实现。
参考: https://developer.android.com/reference/android/widget/TextView.html#setAllCaps(boolean)
所以我的问题是为什么我不能让lint发现这类错误?
我认为lint --check NewApi .
会发现这种问题。
是否因为具有此按钮的对话框是在此代码之前动态创建的?
我能做些什么来帮助lint防止这类错误?在一个完美的世界中,我希望从任何高于minSdk
的SDK版本调用的方法中抛出警告。