android - 如何解决 LinearLayout.LayoutParams 与 CoordinatorLayout.LayoutParams 的 ClassCastException

标签 android android-layout android-coordinatorlayout

我正在尝试创建一个 FloatingActionButton,如 this , 但是当我运行应用程序时出现以下错误

 java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.support.design.widget.CoordinatorLayout$LayoutParams
                                                                at android.support.design.widget.FloatingActionButton$Behavior.isBottomSheet(FloatingActionButton.java:597)
                                                                at android.support.design.widget.FloatingActionButton$Behavior.onDependentViewChanged(FloatingActionButton.java:589)
                                                                at android.support.design.widget.FloatingActionButton$Behavior.onDependentViewChanged(FloatingActionButton.java:528)

这是我的 layout.xml 文件

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:fresco="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

   <android.support.v4.widget.NestedScrollView
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:id="@+id/discoverRView"
       app:layout_behavior="@string/appbar_scrolling_view_behavior">

       <LinearLayout
           android:layout_width="match_parent"
           android:orientation="vertical"
           android:layout_height="wrap_content">
           <LinearLayout
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:id="@+id/description_layout"
               android:padding="8dp"
               android:background="@color/colorPrimaryDark"
               android:orientation="vertical">

               <TextView
                   android:layout_width="match_parent"
                   android:layout_margin="5dp"
                   android:layout_height="wrap_content"
                   android:textStyle="bold"
                   android:textColor="@color/color_white_light" />
               <TextView
                   android:layout_width="match_parent"
                   android:layout_margin="4dp"
                   android:layout_height="match_parent"
                   android:lines="5"
                   android:scrollHorizontally="true"
                   android:ellipsize="end"
                   android:textColor="@color/color_event_text"
                   android:textAppearance="?android:attr/textAppearanceLarge"
                   android:textSize="15sp"
                   android:id="@+id/textView2" />
           </LinearLayout>
           <LinearLayout
               android:layout_width="match_parent"
               android:layout_height="30dp"
               android:background="@color/red_color"
               android:id="@+id/fr_youare_at">

               <TextView
                   android:paddingLeft="12dp"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:id="@+id/you_are_at"
                   android:layout_gravity="center_vertical|left"
                   android:textColor="@android:color/white"
                   android:text="Interested"
                   android:textStyle="bold" />
           </LinearLayout>
       </LinearLayout>


   </android.support.v4.widget.NestedScrollView>
 <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:clickable="true"
        android:src="@android:drawable/ic_menu_search"
        app:layout_anchor="@id/description_layout"
        app:layout_anchorGravity="bottom|right|end"/>
</android.support.design.widget.CoordinatorLayout>

我做错了什么?

最佳答案

我已经解决了,调用 app:layout_anchor 标签的布局必须是 CoordinatorLayout 的直接子节点

关于android - 如何解决 LinearLayout.LayoutParams 与 CoordinatorLayout.LayoutParams 的 ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39517521/

相关文章:

android - 运行 XamarinStore.Droid 时无法加载程序集 'Newtonsoft.Json'

android - 检查 Intent 是 Activity 或服务还是无

java - 在水平模式下创建一个数字选择器,android :orientation ="horizontal" work? 我试过但数字选择器在垂直模式下仍然相同

java - 更改方向会删除 UI 元素

android - 如何从我的 android TableView 中的数据库中获取数据作为列

android - 当 Root View 是 ScrollView 时,如何正确地使 ConstraintLayout 内的 View 占用可见区域的百分比高度

android - 回收位图不释放内存

android - AppBarLayout.ScrollingViewBehavior 是如何运作的?

java - 自定义 CoordinatorLayout 行为在第一个事件后丢失触摸输入流

android - 如何从服务器保存图像并在以后重用