设为首页 加入收藏

TOP

Android ListView分页显示
2014-11-24 11:25:11 来源: 作者: 【 】 浏览:0
Tags:Android ListView 显示

为了能更直接的对应主题,下面代码不完整,所以请不要直接复制粘贴到IDE,重点代码加粗显示,代码中有注释.




public class MyActivity extends Activity implements OnScrollListener {



// 参数


/** 数据源 */


private List data;





/** 初始显示的页数 */


private int pageNum = 1;


/** 每一次显示多少个 */


private static final int pageCount = 20;





/** MyAdapter引用 */


private MyAdapter adapter;



@Override


protected void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);


// 隐藏标题


requestWindowFeature(Window.FEATURE_NO_TITLE);


setContentView(R.layout.listing);


}



/**


* 自定义ListView的Adapter类


*


* @author Lion


*


*/


class MyAdapter extends BaseAdapter {



// 数据源


private List data;



public MyAdapter(List data) {


super();


this.data = data;


}



@Override


public int getCount() {


// 返回该显示的数据个数


// pageCount 一页显示多少个


// pageNum 第几页


return pageCount * pageNum;


}



@Override


public Object getItem(int position) {


return data != null data.get(position) : null;


}



@Override


public long getItemId(int position) {


// TODO Auto-generated method stub


return position;


}



@Override


public View getView(int position, View convertView, ViewGroup parent) {


return convertView;


}



}



/**


* OnScrollListener接口实现方法


*/


@Override


public void onScrollStateChanged(AbsListView view, int scrollState) {


// 当不滚动时


if (scrollState == SCROLL_STATE_IDLE) {


// 判断到底部滚动


if (view.getLastVisiblePosition() == (view.getCount() - 1)) {


if (data.size() - pageNum * pageCount <= pageCount) {


// 这种情况就是末尾了,也就是集合(数据源)里面没有数据了


Toast.makeText(getApplicationContext(), "已至末尾...",


Toast.LENGTH_SHORT).show();


} else {


// 显示页数+1


pageNum++;


// 刷新ListView


adapter.notifyDataSetChanged();


}


}


}


}





/**


* OnScrollListener接口实现方法


*/


@Override


public void onScroll(AbsListView view, int firstVisibleItem,


int visibleItemCount, int totalItemCount) {


}


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android 应用退出时释放应用所占.. 下一篇Java中关于年龄的计算

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python 数据分析与可 (2025-12-26 21:51:20)
·从零开始学Python之 (2025-12-26 21:51:17)
·超长干货:Python实 (2025-12-26 21:51:14)
·为什么 Java 社区至 (2025-12-26 21:19:10)
·Java多线程阻塞队列 (2025-12-26 21:19:07)