首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android ViewDragHelper 找不到類文件?實際位置與正確引用方式

     編輯:程式設計綜合問答

問題現象

在 Android 項目中引用 android.support.v4.widget.ViewDragHelper,編譯報錯找不到該類。SDK 目錄下 android-support-v4.jar 解壓後的 android/support/v4/widget/ 目錄確實缺少 ViewDragHelper.class。

編譯報錯 v4 包目錄

原因

ViewDragHelper 並非打包在常規的 android-support-v4.jar 中,它屬於 Support Library 的內部實現類,Google 將其放置在 SDK 的 samples 目錄下供開發者參考復制使用,而非作為公共 API 直接導出。

解決方法

  1. 從 Samples 獲取源碼: 路徑:<SDK_ROOT>/extras/android/support/samples/Support4Demos/src/android/support/v4/widget/ViewDragHelper.java
  2. 復制到項目: 將該 Java 文件放入項目包 android.support.v4.widget 下(或自定義包並修改包聲明)。
  3. 或使用更高版本 Support Library: 升級至 26.0.0+ (AndroidX) 中的 androidx.customview.widget.ViewDragHelper,該類已正式公開。

遷移至 AndroidX (推薦)

// build.gradle
dependencies {
    implementation "androidx.customview:customview:1.1.0"
}

// 代碼中引用
import androidx.customview.widget.ViewDragHelper;

總結

早期 Support Library 將部分強大組件隱藏在 samples 中,後來逐步公開。新項目請直接使用 AndroidX 對應組件,避免手動復制源碼維護成本。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved