Java Android分页机制句柄

Java Android分页机制句柄,java,android,android-asynctask,Java,Android,Android Asynctask,如何处理分页机制 我已经创建了一个代码来创建数据分页。但当我指定一个已过期的限制时,应用程序将被破坏并强制关闭 我的分页类: public class SetPaging { public static final String[] PAGING = new String[] { "0,5","5,5","10,5","15,5","20,5" }; } 我的侦听器: pullRefresh = ((PullAndLoadListView) listView);

如何处理分页机制

我已经创建了一个代码来创建数据分页。但当我指定一个已过期的限制时,应用程序将被破坏并强制关闭

我的
分页类

public class SetPaging {
    public static final String[] PAGING = new String[] {
        "0,5","5,5","10,5","15,5","20,5"
    };
}
我的
侦听器

pullRefresh = ((PullAndLoadListView) listView);
    pullRefresh.setOnLoadMoreListener(new OnLoadMoreListener() {

    public void onLoadMore() {
        new LoadMoreData().execute();
    }
});
我的
异步代码

private class LoadMoreData extends AsyncTask<Void, Void, Void> {

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            page = page + 1;
            if (page > SetPaging.PAGING.length) {
                page = 0;
            }
        }

        protected Void doInBackground(Void... params) {

            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
            }

            try {
                ArrayList<UtamaBean> NextUtama = new ArrayList<UtamaBean>();
                NextUtama = PushServer.getNextUtama(SetPaging.PAGING[page]);
                if (page > 0) {
                    utamabean.addAll(NextUtama);
                } else {
                    utamabean = PushServer.getNextUtama(SetPaging.PAGING[page]);
                }
            } catch (Exception e) {
                netError.setVisibility(View.VISIBLE);
            }

            return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);

            listView.setVisibility(View.VISIBLE);
            adapter.setItem(utamabean);

            pullRefresh.onLoadMoreComplete();
        }

        @Override
        protected void onCancelled() {
            pullRefresh.onLoadMoreComplete();
        }
    }
你有这个

netError.setVisibility(View.VISIBLE);
在后台线程上调用从
doInbackground
doInbackground
更新ui


因此有例外。在ui线程上更新ui。在doInbackground中返回一个值。根据返回的值,在
onPostExecute

中设置可见性,日志会说什么?有例外吗?请从logcat发布堆栈跟踪。@Simon Update My LogCatHai@Raghunandan:我必须替换代码,但我仍然会在加载屏幕上查看。我怎么能不运行
pullRefresh.setOnLoadMoreListener
最后一次分页?@bertojoris我没有使用pull刷新,所以我不知道。但是你的例外是,你在后台线程上运行ui更新,我刚得到一个新的错误日志。因为我打开了try-catch块,所以我的应用程序可以显示错误消息。“你的意思还是一样吗?”贝索霍里斯是它的数组索引越界例外。长度是5。索引从0开始。因此,您的索引超出了范围。这与CalledFromErrorThreadException无关。我故意限制特定数组上的分页。如果查看上面的
分页类
,我如何检查我的数组,以便在限制已用尽时停止请求?
netError.setVisibility(View.VISIBLE);