迁移到AndroidX后出现android.support.design.widget.CoordinatorLayout类膨胀错误

3

我刚刚进行了Androidx迁移,但在迁移后,我遇到了以下错误:

Caused by: android.view.InflateException: Binary XML file line #12: Binary XML file line #2: Error inflating class android.support.design.widget.CoordinatorLayout`

有什么想法吗?

堆栈跟踪:

 Caused by: android.view.InflateException: Binary XML file line #12: Binary XML file line #2: Error inflating class android.support.design.widget.CoordinatorLayout
 Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class android.support.design.widget.CoordinatorLayout
 Caused by: java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Constructor.newInstance0(Native Method)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
    at android.view.LayoutInflater.createView(LayoutInflater.java:645)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
    at android.view.LayoutInflater.parseInclude(LayoutInflater.java:964)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:854)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
    at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
    at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
    at ir.bijac.com.bijac.BaseActivity.onCreate(BaseActivity.java:43)
    at ir.bijac.com.bijac.TestActivity.onCreate(TestActivity.java:22)

        compileSdkVersion 28
        minSdkVersion 18
        targetSdkVersion 28


dependencies {
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
} ```




我也刚迁移到了AndroidX,我的一小部分用户也遇到了同样的问题。有点奇怪,因为崩溃显示“Error inflating class android.support.design.widget.CoordinatorLayout”,但实际上我正在使用“androidx.coordinatorlayout.widget.CoordinatorLayout”。 - dasfima
2个回答

2
我在迁移到Androidx后也遇到了类似的问题。按照以下步骤解决了该问题: [1] 确保布局文件使用了这个标签:
 <androidx.coordinatorlayout.widget.CoordinatorLayout>

 </androidx.coordinatorlayout.widget.CoordinatorLayout>

[2] 如果在迁移到Androidx后,Android Studio没有更改支持库的导入,请按照以下步骤操作。

进入类文件(java或kt),删除所有与旧版库相关的导入,并允许Android Studio导入适当的Androidx库。对于所有其他迁移问题,请执行相同的操作。

这是您的依赖项应该看起来的样子:

implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.drawerlayout:drawerlayout:1.0.0' //DrawerLayout
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.0.0'
implementation 'com.google.android.material:material:1.0.0' //androidx AppBarLayout, CollapsingToolbarLayout etc.
implementation 'androidx.webkit:webkit:1.0.0' //androidx webview

1

你是否偶然忘记了一些 layout-land 目录或其他相关内容?这些内容可能包含迁移时被跳过的一些 XML 文件。我刚刚发现我的项目中就出现了这种情况。(也许在不同的 flavor 中?)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接