startDrag方法已过时,无法编译该程序
不推荐使用startDrag(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)
。 如何解决这个问题而不失去与旧版本的兼容性? 还有其他选择吗? 我正在学习android基础知识,在尝试简单的拖放操作时,我遇到了这个错误。
根据Androids API参考,在API级别24中不推荐使用startDrag()
将startDragAndDrop()
用于较新的平台版本。
由于Android API等级24等于Android N,您可以使用:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { view.startDragAndDrop(...); } else { view.startDrag(...); }
startDrag
最近被弃用 – 在API 24中。所以你可以使用startDragAndDrop
来区分版本。
您还可以说保留与较低版本的兼容性 。 事情是在API 11中引入了Drag&Drop。因此,您可以尝试区分版本:
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) { //MyDragEventListener comes in here }
否则如上所述, 如果你仍然坚持这样做,你可以使用第三方库,如Android-DragArea。 希望这可以帮助!