分页加载my
来源:互联网 发布:中兴软件开发技术面 编辑:程序博客网 时间:2024/06/06 05:38
import java.util.ArrayList;
import java.util.List;
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 {
private ListView lv_main;
private ProgressBar pb_main;
private List<String> list;
int index=0;
int max=20;
int progress=0;
private ProgressDialog progressDialog;
Handler handler=new Handler(){
private ArrayAdapter<String> arrayAdapter;
public void handleMessage(android.os.Message msg) {
pb_main.setVisibility(View.GONE);
progressDialog.dismiss();
if(arrayAdapter==null){
arrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_expandable_list_item_1, android.R.id.text1, list);
lv_main.setAdapter(arrayAdapter);
}else{
arrayAdapter.notifyDataSetChanged();
}
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv_main = (ListView) findViewById(R.id.lv_main);
pb_main = (ProgressBar) findViewById(R.id.pb_main);
list = new ArrayList<String>();
//第一次进来加载数据
loading();
//监听listview
listview_click();
}
//第一次进来加载数据
private void loading() {
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setTitle("正在加载数据");
progressDialog.show();
//子线程加载数据
new Thread(){
public void run() {
//给集合添加数据
for (int i = index; i < index+max; i++) {
list.add("盟"+i);
}
//progressdialog进度条加载
while(progress<100){
progress++;
progressDialog.setProgress(progress);
try {
sleep(10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(progress==100){
//给handler发送message通知主线程处理UI更新操作
handler.sendEmptyMessage(0);
progress=0;
}
};
}.start();
}
//监听listview
private void listview_click() {
// TODO Auto-generated method stub
lv_main.setOnScrollListener(new OnScrollListener() {
//滚动状态改变
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
switch (scrollState) {
//停止状态
case OnScrollListener.SCROLL_STATE_IDLE:
//获取最后一个数值的position
int lastVisiblePosition = view.getLastVisiblePosition();
if(lastVisiblePosition==list.size()-1){
index=index+max;
pb_main.setVisibility(View.VISIBLE);
loading();
}
break;
default:
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
if(firstVisibleItem==0){
list.clear();
index=0;
max=20;
pb_main.setVisibility(View.VISIBLE);
loading();
}
}
});
}
}
import java.util.List;
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 {
private ListView lv_main;
private ProgressBar pb_main;
private List<String> list;
int index=0;
int max=20;
int progress=0;
private ProgressDialog progressDialog;
Handler handler=new Handler(){
private ArrayAdapter<String> arrayAdapter;
public void handleMessage(android.os.Message msg) {
pb_main.setVisibility(View.GONE);
progressDialog.dismiss();
if(arrayAdapter==null){
arrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_expandable_list_item_1, android.R.id.text1, list);
lv_main.setAdapter(arrayAdapter);
}else{
arrayAdapter.notifyDataSetChanged();
}
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv_main = (ListView) findViewById(R.id.lv_main);
pb_main = (ProgressBar) findViewById(R.id.pb_main);
list = new ArrayList<String>();
//第一次进来加载数据
loading();
//监听listview
listview_click();
}
//第一次进来加载数据
private void loading() {
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setTitle("正在加载数据");
progressDialog.show();
//子线程加载数据
new Thread(){
public void run() {
//给集合添加数据
for (int i = index; i < index+max; i++) {
list.add("盟"+i);
}
//progressdialog进度条加载
while(progress<100){
progress++;
progressDialog.setProgress(progress);
try {
sleep(10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(progress==100){
//给handler发送message通知主线程处理UI更新操作
handler.sendEmptyMessage(0);
progress=0;
}
};
}.start();
}
//监听listview
private void listview_click() {
// TODO Auto-generated method stub
lv_main.setOnScrollListener(new OnScrollListener() {
//滚动状态改变
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
switch (scrollState) {
//停止状态
case OnScrollListener.SCROLL_STATE_IDLE:
//获取最后一个数值的position
int lastVisiblePosition = view.getLastVisiblePosition();
if(lastVisiblePosition==list.size()-1){
index=index+max;
pb_main.setVisibility(View.VISIBLE);
loading();
}
break;
default:
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
if(firstVisibleItem==0){
list.clear();
index=0;
max=20;
pb_main.setVisibility(View.VISIBLE);
loading();
}
}
});
}
}
0 0
- 分页加载my
- My Sql 高效分页
- my sql limit 分页
- my sql分页 SQLServer分页 oracle分页
- 分页加载
- 分页加载
- 分页加载
- 分页加载
- ListView分页加载,加载更多
- ListView分页加载
- listview分页加载
- ios UITableView分页加载
- Android_listview分页加载更多
- listview分页加载问题
- ListView的分页加载
- ListView分页加载数据
- ListView 分页加载
- ios UITableView分页加载
- c++第5次作业
- Linux上安装Java环境与Tomcat
- Http百度请求数据
- Oracle试卷01
- Java回调机制(CallBack)
- 分页加载my
- final局部变量
- Asp.net 学习记录4
- 哈理工OJ 1124 Final Destination(简单递推)
- php array访问
- 刷新加载
- 2016SDAU课程练习三1015
- 赋值/关系/逻辑运算以及条件语句
- C#冒泡排序实例1