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) {

}

}


相关文章
|
2月前
|
Java Android开发
[笔记]Android 学习一之转场动画+ViewPager+ListView简单Demo
[笔记]Android 学习一之转场动画+ViewPager+ListView简单Demo
|
7月前
|
XML Java Android开发
Android优化版ListView(附源代码)
本文是博主对Adapter(适配器)的一些理解,为了加深对Adapter的理解以及记录自己的阶段学习而写,同时也适合初学者阅读,参考本条博客的逻辑进行学习。
85 0
|
12月前
|
Android开发
安卓中listview点击每一条进入不同界面
安卓中listview点击每一条进入不同界面
81 0
|
Java Android开发 Kotlin
Android Studio 的ListView 的用法
Android Studio 的ListView 的用法
180 0
Android Studio 的ListView 的用法
|
Android开发
Android自定义ListView和GridView解决滑动冲突和显示不全
Android自定义ListView和GridView解决滑动冲突和显示不全
122 0
|
Android开发
Android: 解决GridView、ListView在ScrollView中出现冲突的问题
Android: 解决GridView、ListView在ScrollView中出现冲突的问题
253 0
|
XML 程序员 开发工具
【Android开发】 ListView使用实战详解,你get到了嘛?
【Android开发】 ListView使用实战详解,你get到了嘛?
229 0
【Android开发】 ListView使用实战详解,你get到了嘛?
|
Android开发
Android开发 ListView(垂直滚动列表项视图)的简单使用
Android开发 ListView(垂直滚动列表项视图)的简单使用
271 0
Android开发 ListView(垂直滚动列表项视图)的简单使用
|
XML Android开发 数据格式
Android 横向ListView实现
Android 横向ListView实现
Android 横向ListView实现
|
Android开发
android listview 单选功能
android listview 单选功能
相关产品
云迁移中心
推荐文章
更多