- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Big Nerd Ranch's recyclerview-multiselect库为我的 RecyclerView
的 CardViews
提供多选功能。我已经解决了大部分应用程序特定的问题,但我遇到了一个相当大的问题。每当 RecyclerView
处于 SelectionMode
并且 必须重新创建卡片(这通常是因为这实际上就是 RecyclerView
,至少如果我理解正确的话,) 它会抛出这个错误:
java.lang.ClassCastException: android.graphics.drawable.StateListDrawable cannot be cast to android.support.v7.widget.RoundRectDrawableWithShadow
at android.support.v7.widget.CardViewEclairMr1.getShadowBackground(CardViewEclairMr1.java:159)
at android.support.v7.widget.CardViewEclairMr1.getMinWidth(CardViewEclairMr1.java:150)
at android.support.v7.widget.CardView.onMeasure(CardView.java:181)
at android.view.View.measure(View.java:16498)
从逻辑上讲,我根据错误找到了导致 StateListDrawable 被设置为 CardView
背景的任何来源。我发现的内容总结为 a commented section in this class .内容如下:
selectionModeBackgroundDrawable defaults to a StateListDrawable that displays your colorAccent theme color when state_activated=true, and nothing otherwise.
在 SwappingHolder
类中,您可以看到导致错误的 StateListDrawable
被返回到哪里。此外,如果您按照错误中的建议查看 CardViewEclairMr1.java
,您可以看到最直接导致错误的方法:
private RoundRectDrawableWithShadow getShadowBackground(CardViewDelegate cardView) {
return ((RoundRectDrawableWithShadow) cardView.getBackground());
}
老实说,在 BigNerdRanch library 中进行了所有这些窥探之后,我仍然不确定该怎么办!我在想我可能需要 @Override
BigNerdRanch 方法,它引入了一个 StateListDrawable
,但这会让我的手对库很脏,它会破坏目的开始实现他们的 API。如何修复此错误?
最佳答案
答案有点晚了,但这是我发现的对我有用的东西。检查您的 CardView 布局是否包含在 ViewGroup 中,如果不是,则可能是问题所在。
SwappingHolder 通过交换顶级 View 的可绘制对象来工作。 CardView 使用自己的 drawable,因此如果将其用作顶级 View,它将无法工作。
所以正确的做法是这样
<FrameLayout
...
>
<CardView
...
>
</CardView>
</FrameLayout>
或者你可以自己实现 SelectableHolder 接口(interface),并选择你想要如何显示选中的项目。
所有这些都是作者的话
所以这里是 [链接到 GitHub] [链接] 到实际页面
【链接】:
https://github.com/bignerdranch/recyclerview-multiselect/issues/14 .
祝你好运 !
关于java - 如何修改/适配 API 库中的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31645655/
ios10 适配-xcode8 问题解决: ios开发者,系统版本的更新,必定要跟着更新,不然有些功能不知道,开发的时候对可以体验,大打折扣了。 前段时间升级了xcode8,整体来说对oc的影响不
问题 TableView 的 setTableMenuButtonVisible 提供了一种机制来更改表列的可见性。然而,该功能还有很多不足之处: 菜单应保持打开状态。我有 e。 G。 15个表格列,
我正在开发一个使用 MapKit 的应用程序。鉴于 2012 年 6 月 11 日的 Apple 公告,我是否必须使用新的 API 完全重写它才能跟上这些变化? 最佳答案 iOS 6 仍处于 NDA
最近看了许多iphone x适配的文章,发现很少有介绍safearea的,就来随便写写 现在对于iphone x的适配,有一种常见的做法是给导航栏或tabbar增加一个固定的距离,比如顶部增加44
我正在使用 Big Nerd Ranch's recyclerview-multiselect库为我的 RecyclerView 的 CardViews 提供多选功能。我已经解决了大部分应用程序特定的
The Table with bad text-alignment 在图片中,您会看到文本对齐不正确的表格。 tbody 的元素不适合 thead 的元素。表头固定很重要,这样即使向下滚动也能看到。
我将尝试设置我的应用程序,以便它可以使用 Apple map 或 Google map ,所以我想我会有这样的东西: class AppleMap: MKMapView, MyMapProtocol
我已经在网站上工作了大约一个星期,我们需要包含一些非常规字体。没问题,我会在 CSS 中使用 @font-face{},它就像一个魅力。 . .除非你的名字是 Internet Explorer。 由
我遇到了一个问题,csv 文件中的字符显示为带有 ?在中间。 我已经编写了解析 csv 的代码,但我不明白为什么字符串不能正确读取 unicode 字符。这可能与我的实现有关: StreamReade
试图在底部模仿当前的谷歌地图栏。我失败了那么多,也尝试了那么多; CollapsingToolbar、BottomSheet、自定义库。 我想要的:当 BottomSheet 滑动时,让 map Vi
我有 5000 行 CSS 用于 Firefox、Opera,有时还有 IE 8。毕竟,account 告诉我,它必须在 IE 7 下正常工作。我该怎么做,而不重写 40% 的代码? 最佳答案 在
我使用 Glide 和 CircleTransform 将圆形图像放入此 ImageView。 ImageView 具有 wrap_content 属性,但是 ImageView 不适合 Circle
为什么 Apache Hive 需要 Apache Thrift?在 Thrift 的网站上,它说它可以用多种语言编译,但我不明白它适合哪里以及为什么 Hive 需要它。谢谢 最佳答案 引用 from
我使用此命令在 m4v 中转换了一些 YUV 视频,请注意我使用的是 CIF 格式的视频: ffmpeg -s cif -r 30 -i video.yuv -vcodec mpeg4 -g 30 -
我已从教程中获取代码并尝试对其进行修改以包括双向性和 GRU 的任意数量的层。 链接到使用单向、单层 GRU 的教程: https://pytorch.org/tutorials/intermedia
在使用 C++ 11 进行测试期间,我使用了以下结构: std::for_each( coll.begin(), coll.end(), [ &obj, expRes ]( const val
假设我有一个带有 std::pair 的 STL 容器。有什么方法可以使用 boost 为 STL 算法 lambda 调整对的秒数? std::vector> vec; const auto Pre
我有一个自定义的 ListView 适配器,它实现了一个 ImageThreadLoader 类。不幸的是,该类没有启用缓存选项 - 从 Web 下载图像并将它们保存为缓存。 然后我找到了这个 Laz
我有一个关于在 CSS 中使用 PHP 的一般性问题。我现在正在研究 Wordpress 主题,并希望尽可能地定制它。因此,我将我想通过 PHP 更改的 CSS 属性发送到一个为我更改它们的 JS 文
我安装了包 react-treebeard https://react.rocks/example/react-treebeard 允许我为我的 React TS 网站提供一个开箱即用的树控件,它允许
我是一名优秀的程序员,十分优秀!