Android 開發中使用 `ViewPager` 時,`PagerAdapter` 及其子類(`FragmentPagerAdapter`、`FragmentStatePagerAdapter`)屬於 **Android Support Library**(現 AndroidX),不包含在核心 SDK 中。直接使用會報 `ClassNotFoundException` 或編譯錯誤。本文說明正確導入依賴的步驟。
allprojects {
repositories {
google() // AndroidX 必須
jcenter() // 舊版支援庫
mavenCentral()
}
}
現代專案(AndroidX,API 28+):
dependencies {
implementation 'androidx.viewpager:viewpager:1.0.0'
implementation 'androidx.fragment:fragment:1.6.2' // 含 FragmentPagerAdapter
}
舊專案(Support Library,已停止更新):
dependencies {
implementation 'com.android.support:support-v4:28.0.0' // 含 PagerAdapter
implementation 'com.android.support:appcompat-v7:28.0.0'
}
點擊 Android Studio 右上角 Sync Now,或執行 `./gradlew build --refresh-dependencies`。
缺點:無法自動處理傳遞依賴(如 `support-annotations`、`support-compat`),易導致 `NoClassDefFoundError`。
// 建立簡單測試
public class TestAdapter extends FragmentPagerAdapter {
public TestAdapter(FragmentManager fm) { super(fm); }
@Override public Fragment getItem(int pos) { return new Fragment(); }
@Override public int getCount() { return 3; }
}
編譯通過且裝置上正常顯示滑頁,即代表依賴配置正確。
現代 Android 開發務必使用 Gradle 管理依賴,手動放 Jar 已成歷史。遷移至 AndroidX 可獲得持續更新與修復,避免在已停止維護的 Support Library 上踩坑。