2016-08-23 3 views
-4

com.android.support:design libを24.2.0に更新した後、android.support.design.widget.FloatingActionButtonでClassCastExceptionが発生しました。 libバージョンで正常に動作しています。FloatingActionButtonのClassCastException

java.lang.ClassCastException: android.widget.FrameLayout$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) 
    at android.support.design.widget.CoordinatorLayout.offsetChildToAnchor(CoordinatorLayout.java:1564) 
    at android.support.design.widget.CoordinatorLayout.onChildViewsChanged(CoordinatorLayout.java:1233) 
    at android.support.design.widget.CoordinatorLayout$OnPreDrawListener.onPreDraw(CoordinatorLayout.java:1812) 
    at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944) 
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2000) 
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1084) 
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5990) 
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) 
    at android.view.Choreographer.doCallbacks(Choreographer.java:580) 
    at android.view.Choreographer.doFrame(Choreographer.java:550) 
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) 
    at android.os.Handler.handleCallback(Handler.java:739) 
    at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:135) 
+0

ちょうどここでエラー・ログをダンプし、私たちはあなたのためにあなたのコードやデバッグ、それを知っていることを期待しないでください。あなたの*関連する*コードを投稿して、あなたの質問に詳細を追加してください。 – Li357

+0

あなたのサポートライブラリの24.2.0と同じバージョンをgradleファイルに更新していないかもしれません... – pike

+0

@Andrew Lはアンドロイドを置くだけです。私のXMLファイルのsupport.design.widget.FloatingActionButton。 libバージョン24.1.1でうまく動作しています – Shijil

答えて

7

最新のサポートライブラリバージョン24.2.0のようです。 FloatingButtonのアンカーを、親の子ではないビューに設定すると、これが発生しています。

これは、Androidオープンソースプロジェクト - 課題トラッカーによると、既知の問題です。 24.2.1の将来のリリースと表示された問題をFAB can no longer be anchored to indirect children of CoordinatorLayoutに見ることができます。

その報告された問題の中のコメントから可能な回避策はCoordinatorlayoutの直接の子にFloatingActionButtonのアンカービューを設定し

  • です。

OR

  • ラップ新しいCoordinatorLayout
Androidのオープンソースプロジェクトから

FloatinActionButtonのためのアンカーとして設定されているビュー - Issue Trackerの

ステータス:FutureRelease

ラベル:ターゲット・サポート - 24.2.1

+1

しかし、それほどエレガントではありませんが、CoordinatorLayoutでアンカーをラップし、CoordinatorLayoutをアンカーとしてマークしています。 – Milan