Da

Results 12 comments of Da

I have the same problem here!!! (1)In addition, it only appears when the first element is deleted. (2)You will then find that after the first element is deleted, the next...

According to the form, I think FlexBoxLayoutManager + RecyclerView, it's going to generate strange reuse behavior eg: [xxxxxxx] [xxxxx] [xxxxxxxxxxxx] [xxxxxxxx] removeItem -> [xxxxxxx] is index zero addItem -> [xxxxxx]...

组别:A B C D E 。。。。 向上滑动 从 D -> C 临界切换的时候会闪一下。

``` if (mFirstVisiblePosition != firstPosition && firstPosition >= 0) { mFirstVisiblePosition = firstPosition; mTvHeader.setY(0); String currentGroupName = items.get(mFirstVisiblePosition).isHeader ? items.get(mFirstVisiblePosition).header : items.get(mFirstVisiblePosition).info.getGroup(); if (TextUtils.isEmpty(mLastGroupName) || !mLastGroupName.equals(currentGroupName)) { mLastGroupName = currentGroupName;...

然后才执行这段逻辑 if (firstCompletePosition > 0 && (firstCompletePosition) < items.size() && items.get(firstCompletePosition).isHeader) { View view = mSecondaryLayoutManager.findViewByPosition(firstCompletePosition); if (view != null && view.getTop()

问题我找到了解决思路,在重新描述下问题,以及解决思路,供作者参考: 问题产生场景: 已知组别:A、B、C、D、E 已知占位Header:tvHeader 复现步骤: (1)先滑动到tvHeader与组别B的头部重合,此时tvHeader显示B (2)慢速向上滑动,只到A组的底部刚刚出现的临界 (3)tvHeader 会迅速更新成A的名称,然后进行tvHeader.y = -titleHeight的操作 (4)此时会发现tvHeader名称变化成A,然后闪烁一下,之后又显示B组别的Title,这个过程比较快。很容易复现出来

解决方案: 研究下源码,造成这个现象是由于如下代码造成的 LinkageRecyclerView#200 ``` boolean groupNameChanged = false; if (mFirstVisiblePosition != firstPosition && firstPosition >= 0) { mFirstVisiblePosition = firstPosition; mTvHeader.setY(0); String currentGroupName = items.get(mFirstVisiblePosition).isHeader ? items.get(mFirstVisiblePosition).header : items.get(mFirstVisiblePosition).info.getGroup(); if...

解决方案: ``` if (firstCompletePosition > 0 && (firstCompletePosition) < items.size() && items.get(firstCompletePosition).isHeader) { View view = mSecondaryLayoutManager.findViewByPosition(firstCompletePosition); if (view != null && view.getTop() = 0) { //改动一: 只判断上滑时,才会重置mTvHeader的Y轴坐标 if (mFirstVisiblePosition...

java.lang.UnsatisfiedLinkError: No implementation found for void com.tencent.liteav.basic.datareport.TXCDRApi.nativeInitDataReport() (tried Java_com_tencent_liteav_basic_datareport_TXCDRApi_nativeInitDataReport and Java_com_tencent_liteav_basic_datareport_TXCDRApi_nativeInitDataReport__) at com.tencent.liteav.basic.datareport.TXCDRApi.nativeInitDataReport(Native Method) at com.tencent.liteav.basic.datareport.TXCDRApi.(TXCDRApi.java:405) at com.tencent.liteav.basic.datareport.TXCDRApi.initCrashReport(TXCDRApi.java:384) at com.tencent.rtmp.a.a(TXLivePlayerImpl.java:187) at com.tencent.rtmp.TXLivePlayer.startPlay(TXLivePlayer.java:114)