从 LinearLayout 切换到 ConstraintLayout 会引发此错误
java.lang.ClassCastException: android.support.v7.widget.ActivityChooserView$InnerLayout cannot be cast to android.support.v7.widget.LinearLayoutCompat
当我尝试膨胀菜单时发生错误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>
My 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 !!
}
Edit:- 日志的屏幕截图:-
Update:- 添加app:actionProviderClass="android.support.v7.widget.ShareActionProvider"
项目导致错误。
正如 ShaneCoder 所建议的下降到27.0.2
/ 更改为LinearLayout
删除了错误,但我想知道
Why is 27.1.0
在膨胀类时在运行时抛出此类错误,android.support.v7.widget.ShareActionProvider
? (这是一个错误吗27.1.0
)
不确定这是否是您正在解决的问题......
我最近升级了我的支持库依赖项。具有支持库27.1.0
我用经过验证的代码得到了这个异常。我在用着27.0.2
现在。这个异常消失了。
未经测试或证明,但认为它可能有帮助。
Edit
我不确定出了什么问题27.1.0
。我过去必须备份一个次要版本才能解决升级到最新支持库的问题。我想没有人是完美的。我相信27.0.2
是之前的最新版本27.1.0
Edit 2
这是一个链接 https://issuetracker.google.com/issues/73981395到 Google 问题跟踪器上的问题。其标记固定时间为 2018 年 2 月 28 日。应该很快就会发布。
Edit 3
确认固定在27.1.1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)