на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2885) - PullRequest
0 голосов
/ 30 октября 2019

Я создаю навигационный ящик, и он также успешно устанавливается в мобильном телефоне, но после нажатия кнопки приложение автоматически останавливается. но это не показывает ошибку

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.adworld.admin.ab, PID: 25835
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.adworld.admin.ab/com.adworld.admin.ab.Main2Activity}: java.lang.ClassCastException: com.google.android.material.appbar.CollapsingToolbarLayout cannot be cast to androidx.appcompat.widget.Toolbar
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2932)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3010)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1707)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:192)
        at android.app.ActivityThread.main(ActivityThread.java:6758)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:557)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:875)
     Caused by: java.lang.ClassCastException: com.google.android.material.appbar.CollapsingToolbarLayout cannot be cast to androidx.appcompat.widget.Toolbar
        at com.adworld.admin.ab.Main2Activity.onCreate(Main2Activity.java:19)
        at android.app.Activity.performCreate(Activity.java:7147)
        at android.app.Activity.performCreate(Activity.java:7138)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1219)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2885)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3010) 
        at android.app.ActivityThread.-wrap11(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1707) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:192) 
        at android.app.ActivityThread.main(ActivityThread.java:6758) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:557) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:875)  

Ответы [ 2 ]

0 голосов
/ 30 октября 2019

CollapsingToolbarLayout нельзя привести к androidx.appcompat.widget.Toolbar... Это говорит вам, в чем проблема.

Он не может найти правильный тип, он не может привести CollapsingToolbarLayout к widget.Toolbar

Перейти к макету для Main2Activity, если вы не уверены, что яm относится к: enter image description here

В макете переключитесь в режим Text;нажмите кнопку внизу слева.

Убедитесь, что вы определили <android.support.design.widget.AppBarLayout и id, который вы ему дали, это тот, который вы используете в Main2Activity.class findViewById. Проверьте приведенный ниже пример, полученный из https://www.journaldev.com/13927/android-collapsingtoolbarlayout-example

<android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar" 
        android:layout_width="match_parent"
        android:layout_height="@dimen/app_bar_height"
        android:fitsSystemWindows="true"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/toolbar_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            app:contentScrim="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                app:popupTheme="@style/AppTheme.PopupOverlay" />

        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>

Используя приведенный выше пример, мы заботимся об этой строке, чтобы выполнить приведение к Main2Activity: android:id="@+id/app_bar"

выглядеть примерно так в onCreate():

AppBarLayout mAppBarLayout = (AppBarLayout) findViewById(R.id.app_bar);

0 голосов
/ 30 октября 2019
     Caused by: java.lang.ClassCastException: 
     com.google.android.material.appbar.CollapsingToolbarLayout cannot be cast 
     to androidx.appcompat.widget.Toolbar

проверьте код JAVA, в котором вы определили панель инструментов, и преобразуйте его в com.google.android.material.appbar.CollapsingToolbarLayout

...