迁移到androidx后,膨胀类android.support.design.widget.CoordinatorLayout时出错

时间:2019-01-20 10:45:05

标签: android android-coordinatorlayout

我刚刚迁移到Androidx,但是在迁移之后,出现以下错误:

  

由以下原因引起:android.view.InflateException:二进制XML文件第12行:二进制XML文件第2行:错误膨胀了类android.support.design.widget.CoordinatorLayout`

有什么主意吗?

Stacktrace:

 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'
} ```



2 个答案:

答案 0 :(得分:0)

您有没有遗忘的layout-land目录或其他内容?其中可能包含迁移跳过的一些XML文件。我刚刚发现这就是我的项目中发生的事情。 (也许在其他falvor中?)

答案 1 :(得分:0)

迁移到Androidx后,我也有类似的经历。我按照以下步骤解决了该问题: [1] 确保布局文件使用此

 <androidx.coordinatorlayout.widget.CoordinatorLayout>

 </androidx.coordinatorlayout.widget.CoordinatorLayout>

[2] 如果Android Studio在迁移到Androidx后未更改支持库的导入,请执行此步骤。

转到类文件(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