Ошибка надувания BottomNavigationView после перехода на androidx

Когда я пытаюсь запустить свое приложение, моя Mainactivity выдает эту ошибку в методе oncreate () в "setContentView (R.layout.activity_main);":

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sanchez.worldgramproject/com.example.sanchez.worldgramproject.Fragments.MainActivity}: android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class android.support.design.widget.BottomNavigationView

Эта ошибка появилась после перехода на androidx. После дополнительной проверки я заметил, что операторы импорта в классе Bottomnavigationview устарели (без формата androidx, но в старом формате). Файл класса Bottomnavigationview доступен только для чтения, поэтому я не могу его редактировать.

gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'

    defaultConfig {
        applicationId "com.example.sanchez.worldgramproject"
        minSdkVersion 21
        targetSdkVersion 28
        multiDexEnabled true
        versionCode 0
        versionName "0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            debuggable true
        }
    }
}



dependencies {

    compile fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'com.github.madrapps:pikolo:1.1.6'
    implementation 'com.google.android.material:material:1.1.0-alpha02'
    implementation 'com.github.bumptech.glide:glide:3.8.0'
    implementation'com.firebaseui:firebase-ui-storage:2.3.0'
    implementation 'com.google.firebase:firebase-auth:16.1.0'
    implementation 'com.google.android.gms:play-services-auth:16.0.1'
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'com.jakewharton:butterknife:8.8.1'
    implementation 'androidx.multidex:multidex:2.0.1'
    implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.6'
    implementation 'de.hdodenhof:circleimageview:2.2.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.exifinterface:exifinterface:1.0.0'
    implementation 'com.google.firebase:firebase-storage:16.0.5'
    implementation 'com.google.android.gms:play-services-maps:16.0.0'
    implementation 'com.google.firebase:firebase-database:16.0.5'
    testImplementation 'junit:junit:4.12'

}


apply plugin: 'com.google.gms.google-services'

полная трассировка стека: https://pastebin.com/Yfek0YCH

Есть ли способ изменить все операторы импорта в соответствии с новым форматом androidx? и как я могу сделать это для всех других классов?


person Ale4303    schedule 26.12.2018    source источник


Ответы (1)


добавьте эту зависимость:

dependencies {
    // https://mvnrepository.com/artifact/com.google.android.material/material
    implementation "com.google.android.material:material:1.0.0"
}

и используйте com.google.android.material.bottomnavigation.BottomNavigationView.

person Martin Zeitler    schedule 26.12.2018
comment
Вот список всех имен пакетов, которые нужно обновить для перехода на AndroidX: developer.android.com/ jetpack / androidx / migrate - person Gene Bo; 18.06.2019
comment
@GeneBo material.io больше не имеет прямого отношения к androidx; даже если он является преемником пакета android.support.design, у него есть собственное пространство имен. - person Martin Zeitler; 19.06.2019
comment
На второй день мне стало известно об этих обновлениях (AndroidX и т. Д.), Поскольку я работал с более ранними версиями API. Попытка сделать успешное обновление установленной кодовой базы (написанной за последние 1-2 года) до AndroidX казалась актуальной для того, чем вы делитесь в своем сообщении. Для меня это был шаг к тому, чтобы капитальный ремонт обновления заработал. Не уверен, так как это новая территория для меня, но похоже, что это, по крайней мере, в связанном контексте. Я добавил сюда примечание на тот случай, если другие люди впервые обнаружат AndroidX и попытаются заставить существующий код работать. Спасибо за понимание - person Gene Bo; 20.06.2019