java.lang.ClassNotFoundException:在路径上找不到类“ androidx.core.view.ViewPager”

时间:2019-07-16 05:59:23

标签: android android-layout android-viewpager androidx

我刚刚将项目迁移到androidx,并且由于膨胀viewpager组件而出现膨胀错误...我将android.support.v4.view.ViewPager替换为androidx.viewpager.widget.ViewPager

这是我的 xml 文件

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:padding="@dimen/_1dp"
      android:layout_height="wrap_content"
      android:background="@color/banner_border_color">

      <androidx.viewpager.widget.ViewPager
           android:id="@+id/vp_slider"
           android:layout_width="match_parent"
           android:layout_height="@dimen/_140dp"
           android:background="@drawable/thumb_new_background" />

           <RelativeLayout
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_gravity="bottom">

               <TextView
                   android:id="@+id/tv_banner_view_more"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:layout_centerVertical="true"
                   android:layout_marginLeft="@dimen/_16dp"
                   android:background="@drawable/drawable_btn_curved"
                   android:paddingBottom="@dimen/_6dp"
                   android:paddingLeft="@dimen/_8dp"
                   android:paddingRight="@dimen/_8dp"
                   android:paddingTop="@dimen/_6dp"
                   android:visibility="gone"
                   android:text="@string/text_view_more"
                   android:textColor="@color/c_white"
                   android:textSize="@dimen/_8sp" />

     </RelativeLayout>

</FrameLayout>

错误,我得到了:

Caused by: android.view.InflateException: Binary XML file line #329: Binary XML file line #8: Error inflating class androidx.core.view.ViewPager
         Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class androidx.core.view.ViewPager
         Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.core.view.ViewPager" on path: DexPathList[

3 个答案:

答案 0 :(得分:0)

您需要在dependencies文件中的build.gradle下方

implementation 'com.google.android.material:material:1.1.0-alpha06

答案 1 :(得分:0)

我认为您需要使缓存无效并重新启动

转到文件> 使缓存无效/重新启动> **使

无效

然后重建项目

答案 2 :(得分:0)

我发现了问题, 当我们合并到androidx时,android studio会转换viewpager,滑动以刷新布局和一些其他视图到 androidx.core ,例如viewpager,其外观类似于 androidx.core.view.ViewPager 但是正确的是 androidx.viewpager.widget.ViewPager ,请检查您的xml布局,看看是否添加了正确的组件(如果有androidx.core),然后检查正确的组件并替换它。 以及导入依赖项

implementation 'com.google.android.material:material:1.1.0-alpha08