这是堆栈跟踪:
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257)
at java.util.ArrayList.get(ArrayList.java:311)
at android.widget.HeaderViewListAdapter.isEnabled(HeaderViewListAdapter.java:164)
at android.widget.ListView.dispatchDrawWithExcessScroll_Default(ListView.java:3354)
at android.widget.ListView.dispatchDraw(ListView.java:3054)
at android.view.View.draw(View.java:6936)
at android.widget.AbsListView.draw(AbsListView.java:3022)
at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.View.draw(View.java:6936)
at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.View.draw(View.java:6936)
at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.View.draw(View.java:6936)
at android.widget.FrameLayout.draw(FrameLayout.java:357)
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1904)
at android.view.ViewRoot.draw(ViewRoot.java:1527)
at android.view.ViewRoot.performTraversals(ViewRoot.java:1263)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1865)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
我完全不知道如何重现这个错误.我已经尝试ListView在我的应用程序上随机点击,并且永远无法重现此错误.
这只发生在应用程序发布到市场之后.我以前从未见过这个错误.
最糟糕的是它没有来自我的应用程序的代码所以我甚至不知道用户在发生这种情况时做了什么.
有没有人见过这种错误?
有没有人知道从哪里开始修复这个?
Lor*_*rte 15
我也在运行Lollipop的Nexus 5上遇到了同样的例外.如果我:
添加一个虚拟页脚没有解决它,它只是将错误更改为Invalid index 1, size is 1:) ...但是由于@AlexD我有一个线索,在哪里寻找变通方法.
在我的情况下list.setFooterDividersEnabled(false),成功创建ListView后调用可以防止崩溃发生.
Ale*_*exD 12
当listview为空时我有同样的错误.看完源代码后,我发现了崩溃的行:
return mFooterViewInfos.get(adjPosition - adapterCount).isSelectable
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,没有检查mFooterViewInfos是否为空,所以我对此问题的解决方法只是添加一个虚拟页脚:
list.addFooterView(new View(context, null, false));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8511 次 |
| 最近记录: |