应用程序崩溃时滚动ListView并在Button Click事件上加载新数据

时间:2016-11-11 05:34:31

标签: android listview arraylist

我在我的应用程序中使用ListView。 ListView每次到达其最后位置时都会加载10个数据。 为此,我正在计算ListView的最后位置,当ListView滚动到其最后位置时,我正在加载下一个10个数据。

现在,问题是当我滚动ListView并单击按钮时再次加载数据应用程序崩溃。

注意:应用程序正常工作如果我没有滚动ListView并单击活动或完成按钮。只有在ListView滚动时单击“活动”或“完成”按钮时才会崩溃。

我的代码如下:

 case R.id.btnCompleted:

            if (arrayListMy.size() > 0) {
                arrayListMy.clear();
            }
            btnCompleted.setImageResource(R.drawable.completed_selected);
            btnActive.setImageResource(R.drawable.active);
            filterFlag = "1";
            if (Common.isOnline(homeCustomerActivity)) {
                if (isAdded()) {
                    new MyAsyncTask("0", "0", getActivity()).execute();
                }
            } else {
                Common.displayToast(getActivity(), getResources().getString(R.string.strErrorInternetConnection));
            }
            break;

        case R.id.btnActive:
            if (arrayListMy.size() > 0) {
               arrayListMy.clear();
            }
            btnCompleted.setImageResource(R.drawable.completed);
            btnActive.setImageResource(R.drawable.active_selected);
            filterFlag = "0";
            if(getActivity()!=null){
                if (Common.isOnline(getActivity())) {
                    if (isAdded()) {
                        new MyAsyncTask("0", "0", getActivity()).execute();
                    }
                } else {
                    Common.displayToast(getActivity(), getResources().getString(R.string.strErrorInternetConnection));
                }
            }
            break;
    }

错误:

java.lang.IndexOutOfBoundsException: Invalid index 17, size is 1
                                                           at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
                                                           at java.util.ArrayList.get(ArrayList.java:308)
                                                           at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:225)
                                                           at android.widget.AbsListView.obtainView(AbsListView.java:2347)
                                                           at android.widget.ListView.makeAndAddView(ListView.java:1864)
                                                           at android.widget.ListView.fillUp(ListView.java:732)
                                                           at android.widget.ListView.fillGap(ListView.java:671)
                                                           at android.widget.AbsListView.trackMotionScroll(AbsListView.java:5048)
                                                           at android.widget.AbsListView$FlingRunnable.run(AbsListView.java:4595)
                                                           at android.view.Choreographer$CallbackRecord.run(Choreographer.java:775)
                                                           at android.view.Choreographer.doCallbacks(Choreographer.java:588)
                                                           at android.view.Choreographer.doFrame(Choreographer.java:557)
                                                           at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:761)
                                                           at android.os.Handler.handleCallback(Handler.java:739)
                                                           at android.os.Handler.dispatchMessage(Handler.java:95)
                                                           at android.os.Looper.loop(Looper.java:135)
                                                           at android.app.ActivityThread.main(ActivityThread.java:5276)
                                                           at java.lang.reflect.Method.invoke(Native Method)
                                                           at java.lang.reflect.Method.invoke(Method.java:372)
                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:911)
                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:706)

请帮帮我解决这个问题。 谢谢。

0 个答案:

没有答案