使用nodeSetData对childNode中最后一个数据修改时会出现数组越界。
当前使用的版本号 implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.3' 复现操作描述 当对BaseExpandNode的最后一个childNode做多次数据修改时会存在数据越界的问题存在。 使用代码 try { nodeSetData(tree, subIndex, node) } catch (e: Exception) { e.printStackTrace() }
crash日志 W/System.err: java.lang.IndexOutOfBoundsException: Index: 3, Size: 3 W/System.err: at java.util.ArrayList.get(ArrayList.java:437) W/System.err: at com.chad.library.adapter.base.BaseNodeAdapter.removeNodesAt(BaseNodeAdapter.kt:169) W/System.err: at com.chad.library.adapter.base.BaseNodeAdapter.setData(BaseNodeAdapter.kt:119) W/System.err: at com.chad.library.adapter.base.BaseNodeAdapter.nodeSetData(BaseNodeAdapter.kt:326) W/System.err: at com.hairun.library.main.adapter.OneKeyAdapter.updateSubItem(OneKeyAdapter.kt:280) W/System.err: at com.hairun.library.main.fragment.NewOneKeyFragment$initHttpModel$1.setAvgByte(NewOneKeyFragment.kt:765) W/System.err: at com.hairun.library.feature.WirelessTestModel$Companion$WebHandler$handleMessage$4$1.onReceiveValue(WirelessTestModel.kt:476) W/System.err: at com.hairun.library.feature.WirelessTestModel$Companion$WebHandler$handleMessage$4$1.onReceiveValue(WirelessTestModel.kt:338) W/System.err: at hm.a(Unknown Source:2) W/System.err: at org.chromium.android_webview.AwContents.a(PG:1025) W/System.err: at zg.run(Unknown Source:4) W/System.err: at android.os.Handler.handleCallback(Handler.java:873) W/System.err: at android.os.Handler.dispatchMessage(Handler.java:99) W/System.err: at android.os.Looper.loop(Looper.java:201) W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6815)
2020-05-08 15:49:26.421 7222-7222/com.hairun.perception.dev W/System.err: at java.lang.reflect.Method.invoke(Native Method) W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
遇到同样的问题,最后一个数据移除与设置都会出现,看起来像是图上这段代码的问题
遇到一樣的問題只要資料修改一次再expand就會多一筆子資料
同样的问题,修改数据,展开或者收起数据错乱
#3770 3.0.14版本已解决