2

我编写和适配器视图来显示图像,包括这个我添加了两个额外的按钮来左右移动。我为两个按钮创建了可绘制的 xml,因此在运行时执行代码时会产生以下错误:

D/AndroidRuntime(3682): Shutting down VM W/dalvikvm( 3682):threadid=1:
   thread exiting with uncaught exception (group=0x41bad300)
E/AndroidRuntime(3682): FATAL EXCEPTION: main
E/AndroidRuntime(3682): java.lang.StackOverflowError
E/AndroidRuntime(3682):at android.util.SparseArray.get(SparseArray.java:82)
E/AndroidRuntime(3682):at android.util.SparseArray.get(SparseArray.java:73)
E/AndroidRuntime(3682):at android.content.res.StringBlock.get(StringBlock.java:69)
E/AndroidRuntime(3682):at android.content.res.AssetManager.getResourceValue(AssetManager.java:201)
E/AndroidRuntime(3682):at android.content.res.Resources.getValue(Resources.java:1009)
E/AndroidRuntime(3682):at android.content.res.Resources.getDrawable(Resources.java:658)
E/AndroidRuntime(3682):at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)

有人知道吗...如果我参考正常的可绘制图像,那么它可以正常工作。

4

1 回答 1

0

当在一个任务中管理太多数据时,可能会发生 StackOverflowError。例如,这可能是如果您有一个无限循环或在循环内处理过多的数据传输。这是原因之一,可能还有更多。

请参阅使用数据库处理 stackOverflowError 的示例:

http://wiki.webratio.com/index.php/How_to_solve_the_java.lang.StackOverflowError

另外,我在stackoverflow中找到了这篇文章:

Java中的深度递归导致堆栈溢出?

但是没有看到一些代码,很难找到问题,所以请发布一些......

于 2013-05-31T07:50:10.960 回答