首先看代码吧 比较简单 就是一个分页的效果 我想知道如何对个page+1 我加+1有重复的。
listTemp = WebHelper.getGameList(HotActivity.this, "top", page, "20", null, null);
top接口主要的作用就是热门产品
page 这个就是页数
20 就是产品数量 //设置一个最大的数据条数,超过即不再加载
private int MaxDateNum;
// 最后可见条目的索引
private int lastVisibleIndex;
private String page = "2";
private String pageSize = "8";
事件:
gridview.setOnScrollListener(this);滑动到底部:
@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);
}
}
@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
}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();
}
}
};
listTemp = WebHelper.getGameList(HotActivity.this, "top", page, "20", null, null);
top接口主要的作用就是热门产品
page 这个就是页数
20 就是产品数量 //设置一个最大的数据条数,超过即不再加载
private int MaxDateNum;
// 最后可见条目的索引
private int lastVisibleIndex;
private String page = "2";
private String pageSize = "8";
事件:
gridview.setOnScrollListener(this);滑动到底部:
@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);
}
}
@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
}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();
}
}
};
解决方案 »
- android 如何捕获整个屏幕(生成BitMap)
- android 判断快捷方式问题
- CREATE TABLE android_metadata failed
- 百度定位的api,可以定位香港和台湾吗?
- 学习开发android需要的准备工作
- target选择AVD时只显示一个AVD(android)
- 求求求求求求 Android 接收彩信代码
- android SQLite
- android 创建控件create和findViewById的区别
- SetContentView 可以直接替换界面的内容,不需要启动新的Activity
- Android的listview里面有从文件decode的bitmap为imageview的资源的时候加载很卡怎么办?
- 关于Gson使用的问题
这个写错了
那不变成了"21"
可以把page先定义成int,执行+操作后再转成string