Search code examples
androidandroid-collapsingtoolbarlayoutandroid-appbarlayout

AppBarLayout cannot be cast to android.support.design.widget.CollapsingToolbarLayout


I am getting this error:

Caused by: java.lang.ClassCastException: 
android.support.design.widget.AppBarLayout cannot be cast to 
android.support.design.widget.CollapsingToolbarLayout

This is my xml file:

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:id="@+id/collapsing"
    android:fitsSystemWindows="true"
    app:layout_scrollFlags="scroll|exitUntilCollapsed"
    app:contentScrim="#0e0d0e">

    <android.support.design.widget.CollapsingToolbarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.NoActionBar"
        android:fitsSystemWindows="true"
        android:id="@+id/app_bar_layout">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:contentDescription="@null"
            app:layout_collapseMode="parallax"
            android:id="@+id/img_food"
            android:scaleType="centerCrop" />
        <android.support.v7.widget.Toolbar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            app:layout_collapseMode="parallax"
            android:id="@+id/toolbar"
            app:title="Food Name">

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

What is causing my error? I am redirected to this line

collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsing);

in my activity file.

I am using Android Studio 3.0.1.

Thank you!


Solution

  • Change with

    collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsing);
    

    TO :

    collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.app_bar_layout);
    

    Error Was come becoz Your Layout id not match in findViewById