废话不多说,效果如图:

   

代码如下:

page.xml :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
  
  
    <ListView
     android:id="@+id/page"
     android:layout_height="wrap_content"
     android:layout_width="wrap_content"
    />
  
   <LinearLayout
     android:orientation="horizontal"
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content">
     
     <Button
      android:id="@+id/forward"
      android:text="上一页"
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"
     />
     
     <Button
      android:id="@+id/backward"
      android:text="下一页"
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"
     />
     
     </LinearLayout>
  
  
  
</LinearLayout>

JAVA代码:

public class PageListView extends Activity {

private ListView lv ;
 private List mData ;
 private Button forward , backward;
 private int index = 0 ; //分页索引
 private int viewCount = 5 ; //每页显示5条
 PageAdapter mPageAdapter ;
 
 @Override
 protected void onCreate(Bundle b){
  super.onCreate(b);
  setContentView(R.layout.page);
  lv = (ListView) findViewById(R.id.page);
  mData = getData();
  mPageAdapter = new PageAdapter(this);
  lv.setAdapter(mPageAdapter);
  
  forward = (Button) findViewById(R.id.forward);
  backward = (Button) findViewById(R.id.backward);
  
  forward.setOnClickListener(listener);
  backward.setOnClickListener(listener);
  
  checkButton();//初始化没有上一页
  
 }
 
 private View.OnClickListener listener = new View.OnClickListener() {
  @Override
  public void onClick(View v) {
   switch (v.getId()) {
   case R.id.forward:
    to_Forward();
    break;
   case R.id.backward:
    to_Backward();
    break;
   }
  }
 };
 
 /**
  * 上一页
  */
 private void to_Forward() {
  index -- ;
  mPageAdapter.notifyDataSetChanged();
  checkButton();
 }
 
 /**
  * 下一页
  */
 private void to_Backward() {
  index ++ ;
  mPageAdapter.notifyDataSetChanged();
  checkButton();
 }
 
 private void checkButton(){
  if(index <= 0){
   forward.setEnabled(false);
  }else if(mData.size()-index*viewCount <= viewCount ){
   backward.setEnabled(false);
  }else{
   forward.setEnabled(true);
   backward.setEnabled(true);
  }
  
  
 }
 
 private List getData(){
  List  list = new ArrayList();
  for (int i = 0; i < 17; i++) {
   list.add(i);
  }
  return list;
 }
 
 
 class PageAdapter extends BaseAdapter{

private Context mContext ;
  public PageAdapter(Context context){
   this.mContext = context ;
  }
  
  @Override
  public int getCount() {
   int temp = index * viewCount ;
   if((mData.size() - temp) < viewCount){
    return (mData.size()-temp);
   }else{
    return viewCount;
   }
  }

@Override
  public Object getItem(int position) {
   return position ;
  }

@Override
  public long getItemId(int position) {
   return position;
  }

@Override
  public View getView(int position, View convertView, ViewGroup parent) {
   TextView tv = new TextView(mContext);
   tv.setGravity(Gravity.CENTER);
   tv.setText(mData.get(position+index*viewCount)+"");
   return tv;
  }
  
 }
 
}

ListView分页显示数据相关推荐

  1. listview mysql查询_Sqlite 数据库分页查询(ListView分页显示数据)

    下面介绍一下我的这个demo. 流程简述: 我在raw文件夹下面放了名称为city的数据库,里面包含全国2330个城市,以及所属省,拼音简写等信息. 首先 在进入MainActivity的时候,创建数 ...

  2. android listview分页显示,Android应用中使用ListView来分页显示刷新的内容

    点击按钮刷新1.效果如下: 实例如下:  上图的添加数据按钮可以换成一个进度条  因为没有数据所以我加了一个按钮添加到数据库用于测试:一般在服务器拉去数据需要一定的时间,所以可以弄个进度条来提示用户: ...

  3. Criteria查询之分页显示数据

    Criteria对象的setMaxResults()方法可以限定查询返回的记录总数,其setFirstResult()方法可以设置满足条件的第1条记录的位置.二者配合时可以分页显示返回的数据 示例如下 ...

  4. Bootstrap4+MySQL前后端综合实训-Day07-PM【用户信息管理页面——功能展示(分页显示数据、添加用户、批量删除用户、编辑用户信息)、servlet项目代码整理汇总】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目   录 页面展示 分页显示数据 添加用户信息 (单个/批量)删除用户 编辑 ...

  5. php分页显示数据表格显示,php+layui数据表格实现数据分页渲染代码

    一.html 二.js 说明:需要引入layui中的table和laytpl模板引擎,laytpl可以自定义事件及自定义数据字段等 查看详情 {{# if (d.hotcake === '超级爆款') ...

  6. 第一个smarty例子--分页显示数据

    模板页index.tpl: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...

  7. JSP页面分页显示数据

    一.源代码(这里以一个Java web的留言板项目为例): 1.Dao层操作数据库的方法(MessageDao.java) 设置每页显示的最大留言条数: private final int MAX_S ...

  8. 在Visual C#中用ListView显示数据记录

    如果要你在程序中显示数据库中的数据记录,你首先想用的显示工具肯定是DataGrid.当然用DataGrid显示数据记录是一种既常用又简单的方法.但是在程序控制方面,它却无法那么随心所欲.本文就是介绍另 ...

  9. ListView分页详解(非常有用)

    一.ListView分页: (一).目的:          Android 应用开发中,采用ListView组件来展示数据是很常用的功能,当一个应用要展现很多的数据时,一般情况下都不会把所有的数据一 ...

  10. mysql 列数据显示转成行数据显示_Mysql的列修改成行并显示数据的简单实现

    创建测试表: DROP TABLE IF EXISTS `test`; CREATE TABLE `test` ( `year` int(11) DEFAULT NULL, `month` int(1 ...

最新文章

  1. 微软研究院开源编程语言Verona,借鉴Rust、Cyclone等特性
  2. Python创建二维数组(关于list的一个小坑)
  3. go mysql socket_Go语言实现socket实例
  4. php soap对象数组,nusoap传递数组对象
  5. Zookeeper 服务注册中心
  6. NYOJ 692 Chinese checkers(广搜)
  7. MyEclipse中Maven Web项目部署路径设置
  8. 01.查找的基本概念
  9. 学习指南:零基础java入门教程(入门篇)
  10. 计算机max函数的格式,Word怎么输入Max公式
  11. Jenkins之分布式部署及构建(master-slaver)
  12. 学生信息管理系统 jsp + servlet + mysql (2020)
  13. 开始iOS 7中自动布局教程(二)
  14. 重庆市计算机专业高考试题,职业高中高考计算机专业试卷4
  15. 纳什均衡与帕累托最优
  16. 【计算机网络】链路层
  17. 租用云主机需要注意哪些因素
  18. 你的收入在全国算什么水平?
  19. ideaDebug调试时F8快捷键失效的解决办法
  20. linux jstat 报错没有此命令,jstat版本不兼容问题

热门文章

  1. matlab做nmf矩阵分解,进阶理解非负矩阵分解(NMF)
  2. 20张动图全析四大显微分析(SEM、TEM、AFM、STM)工作原理!
  3. 传感网应用开发(中级)网络协议报文详解
  4. CH340串口驱动的官网下载链接地址(包含各大操作系统平台)
  5. FT232串口驱动安装教程
  6. 腾讯 csig 面试简述(已通过)
  7. 谈谈单片机编程思想——状态机
  8. 凯恩帝对刀和刀补_KND数控车床试切对刀和调刀补
  9. 高级电工实验室成套设备(带功率表、功率因数表)
  10. 【Arcgis操作】模块化(批量、自动化)计算多个图层的面积