上拉加载下拉刷新xlistview
来源:互联网 发布:h3c 查看端口状态 编辑:程序博客网 时间:2024/05/16 07:29
public class MainActivity extends Activity implements IXListViewListener {
private XListView mXl;
private List<Datas> datas;
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 找控件的id
initView();
// 获取数据的方法
getData();
}
/**
* 获取数据的方法
*/
private void getData() {
final String path = "http://www.93.gov.cn/93app/get_search.do?key=九三";
new Thread() {
public void run() {
// 创建HttpClient对象
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(path);
try {
HttpResponse response = client.execute(get);
if (response.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
String string = EntityUtils.toString(entity);
Databean databean = jsonObj(string);
Log.e("tag", databean.toString());
List<Datas> list = databean.getData();
// 进行赋值
datas = list;
runOnUiThread(new Runnable() {
@Override
public void run() {
adapter = new MyAdapter(MainActivity.this,
datas);
mXl.setAdapter(adapter);
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
/**
* json解析的方法
*
* @param string
*/
private Databean jsonObj(String string) {
Gson gson = new Gson();
Databean databean = gson.fromJson(string, Databean.class);
return databean;
};
/**
* 初始化控件视图
*/
private void initView() {
mXl = (XListView) findViewById(R.id.xlistview);
// 设置是否能上拉加载
mXl.setPullLoadEnable(true);
// 设置是否能下拉刷新
mXl.setPullRefreshEnable(true);
// 设置监听的方法
mXl.setXListViewListener(this);
}
/**
* 刷新的方法
*/
@Override
public void onRefresh() {
new Thread() {
public void run() {
getData();
};
}.start();
// 关闭的方法
close();
}
/**
* 关闭刷新和加载的方法
*/
private void close() {
mXl.stopLoadMore();
mXl.stopRefresh();
}
/**
* 加载的方法
*/
@Override
public void onLoadMore() {
getDataLoad();
adapter.notifyDataSetChanged();
// 关闭加载
close();
}
/**
* 加载数据的方法
*/
private void getDataLoad() {
final String path = "http://www.93.gov.cn/93app/get_search.do?key=九三";
new Thread() {
public void run() {
// 创建HttpClient对象
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(path);
try {
HttpResponse response = client.execute(get);
if (response.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
String string = EntityUtils.toString(entity);
Databean databean = jsonObj(string);
// Log.e("tag", databean.toString());
List<Datas> list = databean.getData();
datas.addAll(list);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
private XListView mXl;
private List<Datas> datas;
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 找控件的id
initView();
// 获取数据的方法
getData();
}
/**
* 获取数据的方法
*/
private void getData() {
final String path = "http://www.93.gov.cn/93app/get_search.do?key=九三";
new Thread() {
public void run() {
// 创建HttpClient对象
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(path);
try {
HttpResponse response = client.execute(get);
if (response.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
String string = EntityUtils.toString(entity);
Databean databean = jsonObj(string);
Log.e("tag", databean.toString());
List<Datas> list = databean.getData();
// 进行赋值
datas = list;
runOnUiThread(new Runnable() {
@Override
public void run() {
adapter = new MyAdapter(MainActivity.this,
datas);
mXl.setAdapter(adapter);
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
/**
* json解析的方法
*
* @param string
*/
private Databean jsonObj(String string) {
Gson gson = new Gson();
Databean databean = gson.fromJson(string, Databean.class);
return databean;
};
/**
* 初始化控件视图
*/
private void initView() {
mXl = (XListView) findViewById(R.id.xlistview);
// 设置是否能上拉加载
mXl.setPullLoadEnable(true);
// 设置是否能下拉刷新
mXl.setPullRefreshEnable(true);
// 设置监听的方法
mXl.setXListViewListener(this);
}
/**
* 刷新的方法
*/
@Override
public void onRefresh() {
new Thread() {
public void run() {
getData();
};
}.start();
// 关闭的方法
close();
}
/**
* 关闭刷新和加载的方法
*/
private void close() {
mXl.stopLoadMore();
mXl.stopRefresh();
}
/**
* 加载的方法
*/
@Override
public void onLoadMore() {
getDataLoad();
adapter.notifyDataSetChanged();
// 关闭加载
close();
}
/**
* 加载数据的方法
*/
private void getDataLoad() {
final String path = "http://www.93.gov.cn/93app/get_search.do?key=九三";
new Thread() {
public void run() {
// 创建HttpClient对象
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(path);
try {
HttpResponse response = client.execute(get);
if (response.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
String string = EntityUtils.toString(entity);
Databean databean = jsonObj(string);
// Log.e("tag", databean.toString());
List<Datas> list = databean.getData();
datas.addAll(list);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
0 0
- XlistView上拉刷新下拉加载
- xListView上拉刷新下拉加载
- xListView上拉加载下拉刷新
- XListView上拉加载,下拉刷新
- xlistview上拉加载下拉刷新
- XListView上拉加载下拉刷新
- XListView上拉刷新,下拉加载
- 上拉刷新--下拉加载XListView
- XListView上拉加载下拉刷新
- xlistview上拉刷新、下拉加载
- XListView上拉加载下拉刷新
- XListView上拉加载下拉刷新
- XListView上拉加载下拉刷新
- Xlistview上拉加载下拉刷新
- xlistview上拉刷新,下拉加载
- 上拉刷新下拉加载xlistview-------string
- 上拉刷新下拉加载xlistview--------activity_main
- XlistView的上拉刷新下拉加载
- Spring自带批量任务Scheduled重复执行两次的问题分析和解决
- 【Android】43、提升ListView 的运行效率
- 上拉加载下拉刷新(XListViewFooter)
- Android数据库存储sqlite外部存储数据读写
- 66. Plus One
- 上拉加载下拉刷新xlistview
- 上拉加载下拉刷新(XListViewHeader)头部
- 111. Minimum Depth of Binary Tree
- Blender 基础 骨架 01
- mysql小知识点摘抄
- 退出exit,错误处理
- xlistview_footer
- xlistview_header
- HDU-5832 HDU-1212/2016网络选拔赛/大数取余