java.lang.ClassCastException:android.support.v7.widget.ActivityChooserView $ InnerLayout无法强制转换为android.support.v7.widget.LinearLayoutCompat

San*_*Sur 9 android classcastexception android-constraintlayout

从LinearLayout切换到ConstraintLayout会抛出此错误

java.lang.ClassCastException: android.support.v7.widget.ActivityChooserView$InnerLayout cannot be cast to android.support.v7.widget.LinearLayoutCompat                                                                                                                                             
Run Code Online (Sandbox Code Playgroud)

当我尝试给onCreateOptionsMenu()我的片段中的菜单充气时发生错误.

我膨胀的菜单: -

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">   
    <item
        android:id="@+id/action_share"
        app:showAsAction="always"
        android:orderInCategory="101"
        android:icon="@android:drawable/ic_menu_share"
        android:title="@string/action_share"
        app:actionProviderClass="android.support.v7.widget.ShareActionProvider"
        />
</menu>
Run Code Online (Sandbox Code Playgroud)

我的 onCreateOptionsMenu(..)

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {     
    inflater.inflate(R.menu.customerdetail, menu);      
    MenuItem menuItem = menu.findItem(R.id.action_share);
    mShareActionProvider = (ShareActionProvider) 
    MenuItemCompat.getActionProvider(menuItem);         
 // If i comment out this whole part everything is fine !!
 }
Run Code Online (Sandbox Code Playgroud)

编辑: - 日志的ScreenShot: -

在此输入图像描述

更新: - 添加app:actionProviderClass="android.support.v7.widget.ShareActionProvider"项目会导致错误.

正如ShaneCoder建议下降到27.0.2/更改以LinearLayout消除错误但我想知道

为什么27.1.0在运行Class时会在运行时抛出这样的错误android.support.v7.widget.ShareActionProvider?(这是一个错误27.1.0)

Sha*_*der 12

不确定这是你正在打的问题......

我最近升级了我的支持库依赖项.使用支持库,27.1.0我通过经过验证的代码获得了此异常.我现在正在使用27.0.2.这个例外消失了.

没有测试或证明,但认为它可能会有所帮助.

编辑

我不确定有什么问题27.1.0.我不得不在过去备份一个小版本来解决升级到最新的支持库的问题.我想没有人是完美的.我相信27.0.2是之前的最新版本27.1.0

编辑2

这是 Googles Issue Tracker问题的链接.它标记为2018年2月28日.应尽快发布.

编辑3

确认固定 27.1.1

  • 这是一个错误,非常肯定. (2认同)
  • 它现在在`27.1.1`中修复:https://developer.android.com/topic/libraries/support-library/revisions.html#27-1-1 (2认同)