android listview Caused by: java.lang.ArrayIndexOutOfBoundsException: length=3; index=3

简介: android listview 适配器在多种类型viewType报错: Caused by: java.lang.ArrayIndexOutOfBoundsException: length=3; index=32 at android.

android listview 适配器在多种类型viewType报错:

 

Caused by: java.lang.ArrayIndexOutOfBoundsException: length=3; index=3
2    at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:6822)
3    at android.widget.AbsListView.trackMotionScroll(AbsListView.java:5179)
4    at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:3558)
5    at android.widget.AbsListView.onTouchMove(AbsListView.java:3969)
6    at android.widget.AbsListView.onTouchEvent(AbsListView.java:3783)
7    at android.widget.ListView.onTouchEvent(ListView.java:4219)
8    at android.view.View.dispatchTouchEvent(View.java:8556)
9    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2403)
10    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2096)
11    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2409)
12    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2110)
13    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2409)
14    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2110)
15    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2409)
16    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2110)
17    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2409)
18    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2110)
19    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2409)
20    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2110)
21    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2409)
22    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2110)
23    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2409)
24    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2110)
25    at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2455)
26    at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1756)
27    at android.app.Activity.dispatchTouchEvent(Activity.java:2780)
28    at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2412)
29    at android.view.View.dispatchPointerEvent(View.java:8751)
30    at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4200)
31    at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4066)
32    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3606)
33    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3659)
34    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3625)
35    at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3742)
36    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3633)
37    at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3799)
38    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3606)
39    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3659)
40    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3625)
41    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3633)
42    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3606)
43    at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5901)
44    at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5875)
45    at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5846)
46    at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6012)
47    at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
48    at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
49    at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176)
50    at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:5962)
51    at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:6035)

 解决方案:http://stackoverflow.com/questions/2596547/arrayindexoutofboundsexception-with-custom-android-adapter-for-multiple-views-in

The item view type you are returning from

getItemViewType() is >= getViewTypeCount().

也就是你的viewType的type类型必须从0开始,{0,1,2,3...}这样的.

typecount大于最后一个类型的type即可.

这样就解决了,ListView多种viewType滑动到底,上滑崩溃的现象.

目录
相关文章
|
23天前
|
移动开发 Java Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【4月更文挑战第3天】在移动开发领域,性能优化一直是开发者关注的焦点。随着Kotlin的兴起,其在Android开发中的地位逐渐上升,但关于其与Java在性能方面的对比,尚无明确共识。本文通过深入分析并结合实际测试数据,探讨了Kotlin与Java在Android平台上的性能表现,揭示了在不同场景下两者的差异及其对应用性能的潜在影响,为开发者在选择编程语言时提供参考依据。
|
1月前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【2月更文挑战第30天】 随着Kotlin成为开发Android应用的首选语言,开发者社区对于其性能表现持续关注。本文通过深入分析与基准测试,探讨Kotlin与Java在Android平台上的性能差异,揭示两种语言在编译效率、运行时性能和内存消耗方面的具体表现,并提供优化建议。我们的目标是为Android开发者提供科学依据,帮助他们在项目实践中做出明智的编程语言选择。
|
1月前
|
安全 Java Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【2月更文挑战第24天】在移动开发领域,性能优化一直是开发者关注的焦点。随着Kotlin在Android开发中的普及,了解其与Java在性能方面的差异变得尤为重要。本文通过深入分析和对比两种语言的运行效率、启动时间、内存消耗等关键指标,揭示了Kotlin在实际项目中可能带来的性能影响,并提供了针对性的优化建议。
31 0
|
1月前
|
安全 Java Android开发
构建高效安卓应用:探究Kotlin与Java的性能对比
【2月更文挑战第22天】 在移动开发的世界中,性能优化一直是开发者们追求的关键目标。随着Kotlin在安卓开发中的普及,许多团队面临是否采用Kotlin替代Java的决策。本文将深入探讨Kotlin和Java在安卓平台上的性能差异,通过实证分析和基准测试,揭示两种语言在编译效率、运行时性能以及内存占用方面的表现。我们还将讨论Kotlin的一些高级特性如何为性能优化提供新的可能性。
68 0
|
1月前
|
安全 Java Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【2月更文挑战第18天】 在Android开发领域,Kotlin和Java一直是热门的编程语言选择。尽管两者在功能上具有相似性,但它们在性能表现上的差异却鲜有深入比较。本文通过一系列基准测试,对比了Kotlin与Java在Android平台上的运行效率,揭示了两种语言在处理速度、内存分配以及电池消耗方面的差异。此外,文章还将探讨如何根据性能测试结果,为开发者提供在实际应用开发中选择合适语言的建议。
|
28天前
启动报错:java.nio.charset.MalformedInputException: Input length = 1
启动报错:java.nio.charset.MalformedInputException: Input length = 1
16 0
|
30天前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
在开发高性能的Android应用时,选择合适的编程语言至关重要。近年来,Kotlin因其简洁性和功能性受到开发者的青睐,但其性能是否与传统的Java相比有所不足?本文通过对比分析Kotlin与Java在Android平台上的运行效率,揭示二者在编译速度、运行时性能及资源消耗方面的具体差异,并探讨在实际项目中如何做出最佳选择。
18 4
|
1月前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【2月更文挑战第24天】 在移动开发领域,性能优化一直是开发者关注的重点。随着Kotlin的兴起,许多Android开发者开始从传统的Java转向Kotlin进行应用开发。本文将深入探讨Kotlin与Java在Android平台上的性能表现,通过对比分析两者在编译效率、运行时性能和内存消耗等方面的差异。我们将基于实际案例研究,为开发者提供选择合适开发语言的数据支持,并分享一些提升应用性能的最佳实践。
|
1月前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【2月更文挑战第22天】随着Kotlin在Android开发中的普及,开发者们对其性能表现持续关注。本文通过深入分析Kotlin与Java在Android平台上的执行效率,揭示了二者在编译优化、运行时性能以及内存占用方面的差异。通过实际案例测试,为开发者提供选择合适编程语言的参考依据。
|
18天前
|
Java 应用服务中间件 Linux
Caused by: java.lang.UnsatisfiedLinkError: /root/jdk1.7.0_45/jre/lib/amd64/xawt/libmawt.so: libXrend
Caused by: java.lang.UnsatisfiedLinkError: /root/jdk1.7.0_45/jre/lib/amd64/xawt/libmawt.so: libXrend