AppBarLayout无法强制转换为android.support.design.widget.CollapsingToolbarLayout

时间:2018-03-16 09:15:52

标签: android android-collapsingtoolbarlayout android-appbarlayout

我收到此错误:

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

这是我的xml文件:

<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>

导致我的错误是什么?我被重定向到这一行

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

在我的活动档案中。

我正在使用Android Studio 3.0.1。

谢谢!

1 个答案:

答案 0 :(得分:0)

更改

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

TO:

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

错误来了becoz您的布局ID在findViewById

中不匹配