listview OnItemClickListener.onItemClick 报 IndexOutOfBoundsException

12-12 16:43:16.876: E/AndroidRuntime(7395): FATAL EXCEPTION: main
12-12 16:43:16.876: E/AndroidRuntime(7395): java.lang.IndexOutOfBoundsException: Invalid index 10, size is 10
12-12 16:43:16.876: E/AndroidRuntime(7395):     at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at java.util.ArrayList.get(ArrayList.java:304)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at com.travelsky.moa.contacts.ContactsActivity$ContactListOnItemClickListener.onItemClick(ContactsActivity.java:406)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at android.widget.AdapterView.performItemClick(AdapterView.java:298)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at android.widget.AbsListView.performItemClick(AbsListView.java:1100)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:2888)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at android.widget.AbsListView$1.run(AbsListView.java:3567)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at android.os.Handler.handleCallback(Handler.java:615)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at android.os.Handler.dispatchMessage(Handler.java:92)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at android.os.Looper.loop(Looper.java:137)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at android.app.ActivityThread.main(ActivityThread.java:4790)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at java.lang.reflect.Method.invokeNative(Native Method)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at java.lang.reflect.Method.invoke(Method.java:511)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
12-12 16:43:16.876: E/AndroidRuntime(7395):     at dalvik.system.NativeStart.main(Native Method)

不解,我在想是否因为我在刷新这个list的瞬间报出来的

后来加入了判断list的代码

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            
            //modify by tzb at 2012-12-12 17:24:37 start
            if (null != mContactList && mContactList.size() > 0
                    && arg2 - 1 < mContactList.size()) {
                startActivityToContactDetaile(mContactList.get(arg2 - 1));
            }
            //modify by tzb at 2012-12-12 17:24:37 end

        }

 应该是headerview及footerview的问题

REFERENCES:http://blog.csdn.net/gg137608987/article/details/7995671

原文地址:https://www.cnblogs.com/anee/p/2815078.html