迁移到AndroidX后AppBarLayout膨胀错误

Mor*_*zov 7 android migrate android-appbarlayout androidx

迁移到时,AndroidX我遇到了这个问题:

Java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.mandarine.android/com.mandarine.android.features.root.RootActivity}:
android.view.InflateException: Binary XML file line #18: Binary XML file line #18:
Error inflating class android.support.design.widget.AppBarLayout
Run Code Online (Sandbox Code Playgroud)

mak*_*ata 30

我使用AS 3.2迁移到AndroidX向导。但是它无法迁移某些类。以下是我在项目中遇到的一些问题。第二项是正确的

android.support.design.widget.BottomSheetDialog
com.google.android.material.bottomsheet.BottomSheetDialog 

android.support.design.widget.TextInputLayout
com.google.android.material.textfield.TextInputLayout 

android.support.design.widget.CoordinatorLayout
androidx.coordinatorlayout.widget.CoordinatorLayout

android.support.design.widget.NavigationView
com.google.android.material.navigation.NavigationView

androidx.core.view.ViewPager
androidx.viewpager.widget.ViewPager

android.support.design.widget.BottomSheetBehavior
com.google.android.material.bottomsheet.BottomSheetBehavior 

android.support.v7.widget.Toolbar
androidx.appcompat.widget.Toolbar 

android.support.design.internal.BottomNavigationItemView
com.google.android.material.bottomnavigation.BottomNavigationItemView

android.support.design.internal.BottomNavigationMenuView
com.google.android.material.bottomnavigation.BottomNavigationMenuView 

androidx.appcompat.widget.CardView
androidx.cardview.widget.CardView 

android.support.design.widget.BottomNavigationView
com.google.android.material.bottomnavigation.BottomNavigationView

androidx.core.view.ViewPager
androidx.viewpager.widget.ViewPager

importandroidx.core.widget.DrawerLayout
androidx.drawerlayout.widget.DrawerLayout 

androidx.appcompat.widget.RecyclerView
androidx.recyclerview.widget.RecyclerView 

androidx.core.view.PagerAdapter
androidx.viewpager.widget.PagerAdapter

importandroidx.core.app.FragmentManager
importandroidx.fragment.app.FragmentManager
Run Code Online (Sandbox Code Playgroud)


The*_*rer 10

除非实现旧的支持库并启用Jetifier,否则必须重命名XML中的所有支持类。

android.support.design.widget.AppBarLayout现在com.google.android.material.appbar.AppBarLayout

您可能需要implementation 'com.google.android.material:material:1.0.0-beta01'在build.gradle中使用它。

使用支持库查找XML中的其他视图,然后重命名标签以匹配其AndroidX版本。您只需在Google中搜索“ ClassName AndroidX”,即可找到该类的文档。