ZMY_自定义分页加载
来源:互联网 发布:淘宝申诉不成功怎么办 编辑:程序博客网 时间:2024/05/20 02:28
//自定义分页加载
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();
}
}
1 0
- ZMY_自定义分页加载
- ZMY_分页加载
- listView自定义分页加载
- 自定义分页加载
- Android自定义ListView实现分页加载
- easyui 加载datagrid的时候添加自定义分页参数
- 自定义ListView实现上拉分页加载更多数据
- ZMY_补间动画
- ZMY_工厂模式
- 分页加载
- 分页加载
- 分页加载
- 分页加载
- 自定义分页
- 自定义分页
- 自定义分页
- 自定义分页
- 自定义分页
- 连接 (SQL)--维基百科
- SpringMVC类型转换、数据绑定详解[附带源码分析]
- C++项目参考解答:三角形类
- 【自考总结】——毕业答辩保定之旅
- HDOJ 5645 DZY Loves Balls (概率)
- ZMY_自定义分页加载
- PBOC2.0->PBOC3.0主要差异
- 共同学习Spring源码--开篇语
- JDK的安装
- DFS csu1719 Boggle
- bzoj 2157 旅行
- 1002. 写出这个数 (20)
- 使用Boost program_options控制程序输入
- jQuery总结