我使用NodeTreeAdapter做了3级树形试图,在使用nodeRemoveData接口删除SecondNode节点时,删除最后一个SecondNode节点总会导致程序挂掉,删除别的SecondNode节点不会,报错的内容总是IndexOutOfBoundsException,希望能修复这个bug,万分感谢!
我使用NodeTreeAdapter做了3级树形试图,在使用nodeRemoveData接口删除SecondNode节点时,删除最后一个SecondNode节点总会导致程序挂掉,删除别的SecondNode节点不会,报错的内容总是IndexOutOfBoundsException,希望能修复这个bug,万分感谢!
5条答案
按热度按时间zxlwwiss1#
+1
xyhw6mcr2#
+1,最简单的解决办法是try catch.在catch中notifyItemRangeRemoved(position, 1);
问题原因是删除节点时会同时做这些动作:
前2步没问题,第3步时:data.size()就与删除的position相等了,所以报下标越界。
具体代码:
uxh89sit3#
+1,最简单的解决办法是try catch.在catch中notifyItemRangeRemoved(position, 1);
问题原因是删除节点时会同时做这些动作:
前2步没问题,第3步时:data.size()就与删除的position相等了,所以报下标越界。
具体代码:
感谢兄弟
krcsximq4#
请问删除子节点nodeRemoveData()如何传值 如何获取父node 与子节点相对位置
hof1towb5#
BaseNode parentNode = getAdapter().getItem(getAdapter().findParentNode(position));
int childIndex = parentNode.getChildNode().indexOf(data);