ListView分页显示数据
废话不多说,效果如图:
代码如下:
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分页显示数据相关推荐
- listview mysql查询_Sqlite 数据库分页查询(ListView分页显示数据)
下面介绍一下我的这个demo. 流程简述: 我在raw文件夹下面放了名称为city的数据库,里面包含全国2330个城市,以及所属省,拼音简写等信息. 首先 在进入MainActivity的时候,创建数 ...
- android listview分页显示,Android应用中使用ListView来分页显示刷新的内容
点击按钮刷新1.效果如下: 实例如下: 上图的添加数据按钮可以换成一个进度条 因为没有数据所以我加了一个按钮添加到数据库用于测试:一般在服务器拉去数据需要一定的时间,所以可以弄个进度条来提示用户: ...
- Criteria查询之分页显示数据
Criteria对象的setMaxResults()方法可以限定查询返回的记录总数,其setFirstResult()方法可以设置满足条件的第1条记录的位置.二者配合时可以分页显示返回的数据 示例如下 ...
- Bootstrap4+MySQL前后端综合实训-Day07-PM【用户信息管理页面——功能展示(分页显示数据、添加用户、批量删除用户、编辑用户信息)、servlet项目代码整理汇总】
[Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目 录 页面展示 分页显示数据 添加用户信息 (单个/批量)删除用户 编辑 ...
- php分页显示数据表格显示,php+layui数据表格实现数据分页渲染代码
一.html 二.js 说明:需要引入layui中的table和laytpl模板引擎,laytpl可以自定义事件及自定义数据字段等 查看详情 {{# if (d.hotcake === '超级爆款') ...
- 第一个smarty例子--分页显示数据
模板页index.tpl: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...
- JSP页面分页显示数据
一.源代码(这里以一个Java web的留言板项目为例): 1.Dao层操作数据库的方法(MessageDao.java) 设置每页显示的最大留言条数: private final int MAX_S ...
- 在Visual C#中用ListView显示数据记录
如果要你在程序中显示数据库中的数据记录,你首先想用的显示工具肯定是DataGrid.当然用DataGrid显示数据记录是一种既常用又简单的方法.但是在程序控制方面,它却无法那么随心所欲.本文就是介绍另 ...
- ListView分页详解(非常有用)
一.ListView分页: (一).目的: Android 应用开发中,采用ListView组件来展示数据是很常用的功能,当一个应用要展现很多的数据时,一般情况下都不会把所有的数据一 ...
- mysql 列数据显示转成行数据显示_Mysql的列修改成行并显示数据的简单实现
创建测试表: DROP TABLE IF EXISTS `test`; CREATE TABLE `test` ( `year` int(11) DEFAULT NULL, `month` int(1 ...
最新文章
- 微软研究院开源编程语言Verona,借鉴Rust、Cyclone等特性
- Python创建二维数组(关于list的一个小坑)
- go mysql socket_Go语言实现socket实例
- php soap对象数组,nusoap传递数组对象
- Zookeeper 服务注册中心
- NYOJ 692 Chinese checkers(广搜)
- MyEclipse中Maven Web项目部署路径设置
- 01.查找的基本概念
- 学习指南:零基础java入门教程(入门篇)
- 计算机max函数的格式,Word怎么输入Max公式
- Jenkins之分布式部署及构建(master-slaver)
- 学生信息管理系统 jsp + servlet + mysql (2020)
- 开始iOS 7中自动布局教程(二)
- 重庆市计算机专业高考试题,职业高中高考计算机专业试卷4
- 纳什均衡与帕累托最优
- 【计算机网络】链路层
- 租用云主机需要注意哪些因素
- 你的收入在全国算什么水平?
- ideaDebug调试时F8快捷键失效的解决办法
- linux jstat 报错没有此命令,jstat版本不兼容问题