首先看代码吧 比较简单 就是一个分页的效果 我想知道如何对个page+1 我加+1有重复的。
listTemp = WebHelper.getGameList(HotActivity.this, "top", page, "20", null, null);
top接口主要的作用就是热门产品
page 这个就是页数
20 就是产品数量
- Java code
//设置一个最大的数据条数,超过即不再加载 private int MaxDateNum; // 最后可见条目的索引 private int lastVisibleIndex; private String page = "2"; private String pageSize = "8";
事件:
- Java code
gridview.setOnScrollListener(this);
滑动到底部:
- Java code
@Override public void onScrollStateChanged(AbsListView view, int scrollState) { // Log.d(TAG, "onScrollStateChanged():lastVisibleIndex:"+lastVisibleIndex// +"adapter.getCount():" + adapter.getCount()); if (scrollState == OnScrollListener.SCROLL_STATE_IDLE && lastVisibleIndex == adapter.getCount()) { // 当滑到底部时自动加载// page = page+"1"; if(mThread == null|| mThread != null){ mThread = new Thread(runnable); mThread.start(); }// ll.setGravity(View.GONE); } }
- Java code
@Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { // Log.d(TAG, "onScroll():firstVisibleItem:"+firstVisibleItem// +"visibleItemCount:" + visibleItemCount); // 计算最后可见条目的索引 lastVisibleIndex = firstVisibleItem + visibleItemCount;// Log.d(TAG, "onScroll():lastVisibleIndex:"+lastVisibleIndex); // 所有的条目已经和最大条数相等,则移除底部的View if (totalItemCount == MaxDateNum) { lastVisibleIndex = 1;//// Log.d(TAG, "onScroll():lastVisibleIndex: 0");// //这里可以再加个最开始一样的对话框,不过这里还不清楚怎么控制,滚一下会运行很多次,这样会导致Toast和对话框总是弹出,所以也可以不要提示给用户// Toast.makeText(this, "数据全部加载完成,没有更多数据!", 100).show(); } // TODO Auto-generated method stub }
- Java code
Runnable runnable = new Runnable(){ ArrayList<GameInfo> listTemp; @Override public void run() {// page = page+1; try{ listTemp = WebHelper.getGameList(HotActivity.this, "top", page, "20", null, null); MaxDateNum = WebHelper.total_sums; Log.v("ccf", "listTemp--------"+listTemp); for(GameInfo p:listTemp){ list.add(p); } Log.v("ccf", "MaxDateNum:------------"+MaxDateNum); if(list!=null){// page= page+"1"; mHandler.obtainMessage(MSG_SUCCESS,gridview).sendToTarget(); }else { mHandler.obtainMessage(MSG_FAILURE,gridview).sendToTarget(); } }catch (Exception e){ e.printStackTrace(); } } };
------解决方案--------------------
page = page + “1”
那不变成了"21"