【问题标题】:java.lang.ClassNotFoundException: Didn't find class "androidx.core.view.ViewPager" on pathjava.lang.ClassNotFoundException:在路径上找不到类“androidx.core.view.ViewPager”
【发布时间】:2019-07-16 05:59:23
【问题描述】:

我刚刚将我的项目迁移到 androidx,并且我收到了一个膨胀错误,用于膨胀 viewpager 组件...我用 androidx.viewpager.widget.ViewPager 替换了 android.support.v4.view.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[

【问题讨论】:

  • 看起来错误出现在不同的 xml 文件中,请在整个项目中搜索 androidx.core.view.ViewPager。如果你没有找到任何地方使用androidx.core.view.ViewPager,那么只需要清理项目
  • 发布您的应用程序build.gradle 文件。希望您没有将其包含在任何aar library
  • 你在implementation 'com.google.android.material:material:1.1.0-alpha06' dependencies in your build.gradle`文件下面添加了吗
  • @SantanuSur 是的,我的项目有外部 aar 文件
  • @NileshRathod 没有这个依赖没有添加

标签: android android-layout android-viewpager androidx


【解决方案1】:

我发现问题, 当我们合并到 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

【讨论】:

  • @dev_swat 非常感谢。对于 XML 布局中的问题
【解决方案2】:

您需要在build.gradle 文件中低于dependencies

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

【讨论】:

  • alpha08 是拿铁咖啡还是需要坚持使用 06?
  • @dev_swat 如果您想使用alpha08alpha06,您可以选择我目前正在使用alpha06
  • 添加依赖后应用仍然崩溃:(
  • @dev_swat 可以在添加这些依赖项后分享最新的崩溃日志吗
【解决方案3】:

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

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

然后重建项目

【讨论】:

    【解决方案4】:

    您需要在build.gradle 文件中添加以下依赖项

    implementation 'com.google.android.material:material:1.4.0
    

    【讨论】:

      猜你喜欢
      • 2014-04-19
      • 1970-01-01
      • 2017-03-16
      • 2017-12-23
      • 2018-04-13
      • 2019-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多