Макет координатора и некоторые другие макеты не работают после перехода на AndroidX - PullRequest
1 голос
/ 24 июня 2019

Я недавно перенес свой проект на androidX с помощью Refactor.Все реализации были автоматически изменены на androidx.Но я не могу использовать пример макетов поддержки дизайна: Макет координатора. Во всем предварительном просмотре отображается только серый цвет.

Я погуглил и попробовал некоторые исправления, такие как изменение taregtSKDversion, но ничего не помогло.Понятия не имею, что я делаю не так.

Это build.gradle [app]

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.pratham.sitapuriya"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.1.0-beta01'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.android.material:material:1.1.0-alpha07'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.3.0-alpha01'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0-alpha01'
    implementation 'com.android.volley:volley:1.1.1'
    implementation 'com.google.android.material:material:1.1.0-alpha07'
    repositories {
        mavenCentral()
        google()
    }

    dependencies {
        implementation 'com.github.bumptech.glide:glide:4.9.0'
        annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
    }

    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
    dependencies {
        implementation 'com.facebook.shimmer:shimmer:0.1.0@aar'
    }
    implementation 'com.github.marlonlom:timeago:4.0.1'

}

Я пытался использовать Layout Coordinator, используя

<androidx.coordinatorlayout.widget.CoordinatorLayout >
 // Other Childs
</<androidx.coordinatorlayout.widget.CoordinatorLayout>

Иэто не сработало![Также все плагины обновлены до последней версии] Пожалуйста, помогите ..

ОБНОВЛЕНИЕ После добавления

    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

Макет работал и Gradle был собран без каких-либо ошибок.Но все же, когда я запускаю приложение, оно падает, выдавая эту ошибку

06-24 12:11:34.212 18074-18074/com.pratham.sitapuriya E/dalvikvm: Could not find class 'androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper', referenced from method androidx.core.view.ViewCompat.addOnUnhandledKeyEventListener
06-24 12:11:34.216 18074-18074/com.pratham.sitapuriya E/dalvikvm: Could not find class 'android.view.WindowInsets', referenced from method androidx.core.view.ViewCompat.dispatchApplyWindowInsets
06-24 12:11:34.228 18074-18074/com.pratham.sitapuriya E/dalvikvm: Could not find class 'android.view.WindowInsets', referenced from method androidx.core.view.ViewCompat.onApplyWindowInsets
06-24 12:11:34.229 18074-18074/com.pratham.sitapuriya E/dalvikvm: Could not find class 'android.view.View$OnUnhandledKeyEventListener', referenced from method androidx.core.view.ViewCompat.removeOnUnhandledKeyEventListener
06-24 12:11:34.239 18074-18074/com.pratham.sitapuriya E/dalvikvm: Could not find class 'androidx.core.view.ViewCompat$1', referenced from method androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener
06-24 12:11:37.983 18074-18074/com.pratham.sitapuriya E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method com.google.android.material.button.MaterialButtonHelper.unwrapBackgroundDrawable
06-24 12:11:37.989 18074-18074/com.pratham.sitapuriya E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method com.google.android.material.button.MaterialButtonHelper.unwrapStrokeDrawable
06-24 12:11:37.992 18074-18074/com.pratham.sitapuriya E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method com.google.android.material.button.MaterialButtonHelper.setRippleColor
06-24 12:11:38.022 18074-18074/com.pratham.sitapuriya E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.pratham.sitapuriya, PID: 18074
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.pratham.sitapuriya/com.pratham.sitapuriya.AccountActivity}: java.lang.NullPointerException
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2433)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2484)
        at android.app.ActivityThread.access$800(ActivityThread.java:158)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1391)
        at android.os.Handler.dispatchMessage(Handler.java:110)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:5486)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
        at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
        at com.pratham.sitapuriya.AppunctionsKt.beautifyLayout(appunctions.kt:76)
        at com.pratham.sitapuriya.AccountActivity.onCreate(AccountActivity.kt:14)

Поскольку мое приложение работало без ошибок перед миграцией, я предполагаю, что эти ошибки происходят из-за androidx.Пожалуйста, разберись.Спасибо

1 Ответ

2 голосов
/ 24 июня 2019

Можно попробовать со стабильной версией

    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

Затем очистить-восстановить-запустить.

FYI

NullPointerException генерируется, когда приложение пытается использовать ссылку на объект, которая имеет нулевое значение.

...