startDrag 方法已弃用,无法编译程序
startDrag method Deprecated and unable to compile the program
startDrag(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)
已弃用。如何在不失去与旧版本兼容性的情况下解决这个问题?有没有其他选择?我正在学习 android 基础知识,在尝试简单的拖放练习时遇到了这个错误。
startDrag
最近已弃用 - 在 API 24 中。因此您可以改用 startDragAndDrop
并区分版本。
你也可以说保持对低版本的兼容性。问题是拖放是在 API 11 中引入的。因此您可以尝试区分版本:
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
//MyDragEventListener comes in here
}
否则如前所述,< API 11 没有官方拖放功能。对于 API 14 以下的 Android(或 API 15),因为根据 Android Studio,只有少数设备 运行 低于该版本,即只有 2.3%。
如果你还是坚持这样做,你可以使用第三方库,例如Android-DragArea。
希望对您有所帮助!
根据 Androids API 参考文献 startDrag()
在 API 级别 24
中被弃用
使用 startDragAndDrop()
用于较新的平台版本。
并且由于 Android API 级别 24 等于 Android N 你可以使用:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
view.startDragAndDrop(...);
} else {
view.startDrag(...);
}
startDrag(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)
已弃用。如何在不失去与旧版本兼容性的情况下解决这个问题?有没有其他选择?我正在学习 android 基础知识,在尝试简单的拖放练习时遇到了这个错误。
startDrag
最近已弃用 - 在 API 24 中。因此您可以改用 startDragAndDrop
并区分版本。
你也可以说保持对低版本的兼容性。问题是拖放是在 API 11 中引入的。因此您可以尝试区分版本:
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
//MyDragEventListener comes in here
}
否则如前所述,< API 11 没有官方拖放功能。对于 API 14 以下的 Android(或 API 15),因为根据 Android Studio,只有少数设备 运行 低于该版本,即只有 2.3%。
如果你还是坚持这样做,你可以使用第三方库,例如Android-DragArea。
希望对您有所帮助!
根据 Androids API 参考文献 startDrag()
在 API 级别 24
使用 startDragAndDrop()
用于较新的平台版本。
并且由于 Android API 级别 24 等于 Android N 你可以使用:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
view.startDragAndDrop(...);
} else {
view.startDrag(...);
}