Android ListView分页显示

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

public class MyActivity extends Activity implements OnScrollListener {

// 参数

/** 数据源 */

private List<Joke> 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<Joke> data;

public MyAdapter(List<Joke> 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) {

}

}
时间: 2024-10-27 09:59:35

Android ListView分页显示的相关文章

关于 Android Listview不显示数据的问题

问题描述 关于 Android Listview不显示数据的问题 ListView 正常,数据也正常,但是就是不显示数据. List View 中包含Item布局(TextView),ViewPager中包含ListView,MainActivity中包含Viewpager. ==== TextView >ListView >ViewPager >MainActivity ==== ListView .setAdapter(Context,ArrayList);debug调试发现 Con

Android ListView分页功能实现方法_Android

通过本次小Demo我学到了: 1.ListView的小小的一个分页功能 2.加深了对自定义控件的理解 3.对ListView的优化 4.对BaseAdapter的使用 5.自定义Adapter 6.接口的回调 要实现下面的效果--当拖动ListView到底部的时候,显示一个ProgressBar和一个"正在加载..."的TextView.并且过两秒钟后,在下面加载出新的数据.项目的目录结构和程序要实现的效果如下:      首先是布局部分: 我为了实现此效果,首先在布局文件中新建了一个

Android ListView分页简单实现

Android ListView分页简单实现 分页,开发应用中必不可少.那么,现在就来实现分页功能. 首先来想想实现它要有哪些步骤, 1, 实现的组件, 2.初始化第一页数据, 3,底部布局 , 4,加载数据的条件 5.获取下一页的数据. 有了思路,我们一步步来实现就行了.先来想想我们用什么组件实现,我们知道列表UI我们常用ListView或者RecyclerView,初始化数据,我们就在通过一个for循环来准备数据,底部布局我们直接使ProgressBar控件和一个TextView来显示就可以

Android ListView自动显示隐藏布局的实现方法_Android

借助View的OnTouchListener接口来监听listView的滑动,通过比较与上次坐标的大小,判断滑动方向,并通过滑动方向来判断是否需显示或者隐藏对应的布局,并且带有动画效果. 1.自动显示隐藏Toolbar 首先给listView增加一个HeaderView,避免第一个Item被Toolbar遮挡. View header=new View(this); header.setLayoutParams(new AbsListView.LayoutParams( AbsListView.

Android ListView自动显示隐藏布局的实现方法

借助View的OnTouchListener接口来监听listView的滑动,通过比较与上次坐标的大小,判断滑动方向,并通过滑动方向来判断是否需显示或者隐藏对应的布局,并且带有动画效果. 1.自动显示隐藏Toolbar 首先给listView增加一个HeaderView,避免第一个Item被Toolbar遮挡. View header=new View(this); header.setLayoutParams(new AbsListView.LayoutParams( AbsListView.

c# listview 分页显示-C#的 listview如何实现分页显示数据

问题描述 C#的 listview如何实现分页显示数据 因为要做一款检测软件,需要将几千个数据都遍历显示出来,想在listview中显示,但是无奈数据量还是太大,想做到分页显示数据,如何代码实现,网上关于listview分页都是基于数据库的操作,不通过数据库如何实现分页,谢谢各位大神.

Android ListView分页功能实现方法

通过本次小Demo我学到了: 1.ListView的小小的一个分页功能 2.加深了对自定义控件的理解 3.对ListView的优化 4.对BaseAdapter的使用 5.自定义Adapter 6.接口的回调 要实现下面的效果--当拖动ListView到底部的时候,显示一个ProgressBar和一个"正在加载..."的TextView.并且过两秒钟后,在下面加载出新的数据.项目的目录结构和程序要实现的效果如下: 首先是布局部分: 我为了实现此效果,首先在布局文件中新建了一个foote

Android ListView数据绑定显示的三种解决方法_Android

首先,创建一个用于显示一个item的layout,名为item.xml 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout

C# ListView分页显示问题,在线等

问题描述 1:我动态New了3个ListView放在一个集合中,且每一个都动态绑定了图片库(ImageList)2:做了一个"下一页"的按纽3:用Panel做为容器来显示问题:第一页来显示图片及文字,当我按下页时,第二,第三页均不出显图片,但是有文字,但是全部放在第一页显示则都显示图片及文字,谢谢! 解决方案 解决方案二:不太清楚可以一开始就用三个panel其他2个隐藏掉用隐藏来切换解决方案三:你先把3个Listview都显示出来,看看少东西没.解决方案四:估计是容器覆盖住了吧