删除气泡选取器上的项目时,会发生以下错误


  1. 简介(什么是Bubble Picker?(

1.1带去除功能的气泡选择器:

  • 来源=>https://github.com/tuxxon/Bubble-Picker
  • 错误影片=>https://www.youtube.com/watch?v=ukS30xoCxhc

1.2气泡选取器:一个易于使用的动画,可用于Android的内容选取原始来源=https://github.com/igalata/Bubble-Picker

  1. 错误

如果你构建并运行1.1 Bubble Picker(带有删除功能(,那么你可以在android studio中看到错误。

  1. 更多详细信息

在JBox2d中,world.destroyBody((无法正常工作。也就是说,我不知道如何在jbox2d中从世界中删除圆形项目。

E/AndroidRuntime: FATAL EXCEPTION: GLThread 2044
Process: com.touchizen.bubblepicker, PID: 26298
java.lang.AssertionError
at org.jbox2d.collision.broadphase.DynamicTree.destroyProxy(DynamicTree.java:115)
at org.jbox2d.collision.broadphase.BroadPhase.destroyProxy(BroadPhase.java:104)
at org.jbox2d.dynamics.Fixture.destroyProxy(Fixture.java:314)
at org.jbox2d.dynamics.World.destroyBody(World.java:344)
at com.igalata.bubblepicker.physics.Engine.move(Engine.kt:66)
at com.igalata.bubblepicker.rendering.PickerRenderer.onDrawFrame(PickerRenderer.kt:74)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1571)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)
I/Process: Sending signal. PID: 26298 SIG: 9

有人知道如何解决这个问题吗?

我也陷入了这个问题。经过几天寻找可能的解决方案,我昨天找到了一个很好的解决方案。您应该将库的源代码作为模块直接导入到项目中。你可以研究如何在谷歌上将安卓项目作为模块导入。有很多博客和教程可以帮助你。

在下一步中,您需要在气泡库中找到Engine文件。滚动至清除功能并用以下代码替换代码:

fun clear() {
borders.forEach { if (world.isLocked) world.destroyBody(it.itemBody) }
bodies.forEach { if (world.isLocked) world.destroyBody(it.physicalBody) }
borders.clear()
bodies.clear()
}

你就快完了。为什么?因为导入库源代码时会出现一些错误。不要沮丧!您只需要修改一些配置就可以解决这些错误。如果你需要帮助,请随时向我咨询。

最初的问题和讨论就在这里。而tuxon的泡沫回购是一个比起源更好的选择。Tuxxon用更新的sdk版本对gradle-config和sdk版本-config进行了一些升级。它帮助我避免了项目配置中的一些错误,所以我认为它也会对你有所帮助。

相关内容

最新更新