开发中踩过的bug

腾讯bugly和360的崩溃记录都不错,但是总有定位不到具体错误出在哪的情况,这时候就需要我们一点一点的测试和排查。
这里记录一下我在开发中遇到的定位不到的问题,希望可以给你代来帮助!

错误1 :android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:225)


   # main(1)
   java.lang.IndexOutOfBoundsException
   Invalid index 22, size is 1
1  java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
2  java.util.ArrayList.get(ArrayList.java:308)
3  android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:225)
4  android.widget.AbsListView.obtainView(AbsListView.java:2290)
5  android.widget.ListView.makeAndAddView(ListView.java:1855)
6  android.widget.ListView.fillDown(ListView.java:678)
7  android.widget.ListView.fillGap(ListView.java:642)
8  android.widget.AbsListView.trackMotionScroll(AbsListView.java:5153)
9  android.widget.AbsListView$FlingRunnable.run(AbsListView.java:4310)
10 android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
11 android.view.Choreographer.doCallbacks(Choreographer.java:562)
12 android.view.Choreographer.doFrame(Choreographer.java:531)
13 android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
14 android.os.Handler.handleCallback(Handler.java:730)
15 android.os.Handler.dispatchMessage(Handler.java:92)
16 android.os.Looper.loop(Looper.java:137)
17 android.app.ActivityThread.main(ActivityThread.java:5265)
18 java.lang.reflect.Method.invokeNative(Native Method)
19 java.lang.reflect.Method.invoke(Method.java:525)
20 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:760)
21 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
22 dalvik.system.NativeStart.main(Native Method)
 这个Bug折磨我很久了,也百度了很久但都不是我想要的答案,只能看出来是ListView的问题,但是没有定位带具体定位到具体哪里出的错,自己找了好久才测试出来。
 造成原因:搜索界面上面的搜索Item和listview数据展示其实都是在一个界面,只不过做一个隐藏和显示的操作,当ListView上拉加载更多数据,列表正在滑动时,我把listview隐藏了,所以才出现这个为题。如下图:

    解决:只要找到了出错的原因,问题很就好解决了。因为是扒的别人的CustomListViewno(上拉加载下拉刷新)用的,所以自己做了修改。
    在onScrollStateChanged()里记录Listview的滑动三种滑动状态,当listview停止滑动时,返回一个boolean标记,点击返回按钮时获取标记,再做下面的逻辑处理即可。

你可能感兴趣的:(工作笔记,bug)