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

dev*_*wat 1 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>
Run Code Online (Sandbox Code Playgroud)

我得到的错误

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[
Run Code Online (Sandbox Code Playgroud)

dev*_*wat 11

我想出了问题,当我们合并到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
Run Code Online (Sandbox Code Playgroud)


Nil*_*hod 5

您需要在文件dependencies中添加以下内容build.gradle

implementation 'com.google.android.material:material:1.1.0
Run Code Online (Sandbox Code Playgroud)