分页加载Demo
来源:互联网 发布:淘宝旗舰店和京东自营 编辑:程序博客网 时间:2024/06/10 02:01
activity_main.xml 设置
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:divider="@null" /> <ProgressBar android:id="@+id/pb" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" /></LinearLayout>
MainActivity主入口
package com.example.pagedemo;import java.util.ArrayList;import android.app.Activity;import android.app.ProgressDialog;import android.os.Bundle;import android.os.Handler;import android.view.View;import android.widget.AbsListView;import android.widget.AbsListView.OnScrollListener;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.ProgressBar;public class MainActivity extends Activity { protected static final String TAG = "MainActivity"; private ListView listView; private ArrayList<String> strList; private ArrayAdapter<String> arrayAdapter; private ProgressDialog dialog; Handler handler = new Handler() { public void handleMessage(android.os.Message msg) { // 让进度条消失 pb.setVisibility(View.GONE); dialog.dismiss(); if (arrayAdapter == null) { arrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, android.R.id.text1, strList); listView.setAdapter(arrayAdapter); } else { arrayAdapter.notifyDataSetChanged(); } }; }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.listView); pb = (ProgressBar) findViewById(R.id.pb); // 创建集合,添加数据 strList = new ArrayList<String>(); loadData(); listView.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { // 停止的状态 case OnScrollListener.SCROLL_STATE_IDLE: // Log.i(TAG, "idle........"); // 获取最后一个条目的索引值 int lastVisiblePosition = view.getLastVisiblePosition(); // 等于集合长度减一 if (lastVisiblePosition == strList.size() - 1) { // 加载数组 // 改变index的值 index = index + Max; // 显示 pb.setVisibility(View.VISIBLE); loadData(); } break; // 惯性滑动 case OnScrollListener.SCROLL_STATE_FLING: // Log.i(TAG, "fling........"); break; // 滑动的状态 case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL: // Log.i(TAG, "scroll......."); break; default: break; } } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { // Log.i(TAG, "firstVisibleItem" + firstVisibleItem // + "visibleItemCount" + visibleItemCount // + "totalItemCount" + totalItemCount); } }); } int Max = 30; int index = 0; private ProgressBar pb; int progress = 0; private void loadData() { dialog = new ProgressDialog(MainActivity.this); dialog.setTitle("正在加载数据..."); dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); dialog.show(); new Thread() { public void run() { for (int i = index; i < index + Max; i++) { strList.add("我是第" + i + "个条目"); } while (progress < 100) { progress++; dialog.setProgress(progress); try { sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } } if (progress == 100) { handler.sendEmptyMessage(0); progress=0; } }; }.start(); }}
0 0
- 分页加载Demo
- Android ListView分页加载数据Demo
- Android ListView分页加载(服务端+android端)Demo
- 分页加载
- 分页加载
- 分页加载
- 分页加载
- Android Demo之旅 ListView底部添加加载更多按钮实现数据分页
- DEMO:分页显示记录
- oracle分页查询demo
- ListView分页的Demo
- jquery插件分页Demo
- ajax json分页demo
- 分页查询demo
- layui分页demo
- AngularJs分页组件demo
- 前端分页demo
- 动态加载WebService DEMO
- HTTP协议
- 3.25日mybatis记录
- HDU 5650 so easy 水的666
- 大数相乘算法 List实现
- 蓝桥杯:字母图形
- 分页加载Demo
- ISE综合选项Keep Hierarchy
- typeof、offsetof、container_of
- 《vb.net视频之沉淀》
- Mentor.Graphics.FloTHERM.XT.2.3+Mentor.Graphics.Flowmaster.7.9.4
- 实验环境Ceph 9.2.1部署笔记
- 递归求解逆波兰表达式
- 笔记-一些MOS管和栅驱
- Java 学习笔记