当我开发Android应用程序时,我想在较低的Android版本中使用higther API的方法.怎么做?

Dav*_*vim 2 api android listview backwards-compatibility

当我开发Android应用程序时,我想在较低的Android版本中使用higther API的方法?以下是ListView的方法

public void smoothScrollToPosition(int position)  Since API Level 8,
Run Code Online (Sandbox Code Playgroud)

但我想在较低的Android版本中使用此方法,例如,API 5如何做到这一点???? 谢谢

Sni*_*las 5

基本上你不能这样做.但是,您可以在较高版本中使用它,并为旧版本的代码提供一些向后兼容性:

@TargetApi(Build.VERSION_CODES.FROYO)
private void allowSmoothScrollIfSupported() {
    if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO ) {
        list.smoothScrollToPosition(position)
    } else {
        list.scrollToPosition(position)
    }
}
Run Code Online (Sandbox Code Playgroud)

此方法仅在API版本8及更高版本上执行,并且不会在下面崩溃:它将在旧的API(scrollToPosition)上回退.

并且在你的AndroidManifest.xml你可以表明你的目标是最新的api,但从5岁开始支持所有这些:

 <uses-sdk
        android:minSdkVersion="5"
        android:targetSdkVersion="17" />
Run Code Online (Sandbox Code Playgroud)