我相信 每个人每个人都能找到源代码
3个java文件和2个布局 1张图片
package com.example.day5zhaoukao2;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import com.example.adapter.MyAdapter;
import com.example.data.News;
import com.example.data.Oschina;
import com.example.xlist.XListView;
import com.example.xlist.XListView.IXListViewListener;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.RequestParams;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
import com.thoughtworks.xstream.XStream;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
public class MainActivity extends Activity implements IXListViewListener{
private XListView xListView;
private List<News> list;
private MyAdapter adapter;
private int pageIndex=1;
private List<News> alllist=new ArrayList<News>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xListView=(XListView) findViewById(R.id.listview);
adapter=new MyAdapter(MainActivity.this);
xListView.setPullLoadEnable(true);
xListView.setPullRefreshEnable(true);
xListView.setXListViewListener(this);
new Thread(){
public void run() {
infoa(pageIndex);
};
}.start();
}
protected void infoa(int pageIndex) {
// TODO Auto-generated method stub
String url="http://www.oschina.net/action/api/news_list";
HttpUtils httpUtils=new HttpUtils();
RequestParams params=new RequestParams();
params.addBodyParameter("catalog", 1+"");
params.addBodyParameter("pageIndex", pageIndex+"");
params.addBodyParameter("pageSize", 10+"");
httpUtils.send(HttpMethod.POST, url, params, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
// TODO Auto-generated method stub
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
// TODO Auto-generated method stub
XStream xStream=new XStream();
xStream.processAnnotations(Oschina.class);
Oschina fromXML = (Oschina) xStream.fromXML(arg0.result);
list=fromXML.getNewslist().getNews();
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
xListView.setAdapter(adapter);
alllist.addAll(list);
adapter.addrest(alllist);
xListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,
View view, int position, long id) {
// TODO Auto-generated method stub
Intent in=new Intent(MainActivity.this,XActivity.class);
Bundle b=new Bundle();
b.putString("a", alllist.get(position).getTitle());
in.putExtras(b);
startActivity(in);
}
});
}
});
}
});
}
protected void info(int pageIndex) {
// TODO Auto-generated method stub
String url="http://www.oschina.net/action/api/news_list?catalog=1&pageIndex="+pageIndex+"&pageSize=10";
HttpClient httpClient=new DefaultHttpClient();
HttpGet httpGet=new HttpGet(url);
try {
HttpResponse execute = httpClient.execute(httpGet);
StatusLine statusLine = execute.getStatusLine();
int statusCode = statusLine.getStatusCode();
Log.i("String", statusCode+"");
if(statusCode==200){
InputStream content = execute.getEntity().getContent();
Log.i("String", "1");
XStream xStream=new XStream();
xStream.processAnnotations(Oschina.class);
Oschina fromXML = (Oschina) xStream.fromXML(content);
list=fromXML.getNewslist().getNews();
Log.i("String", list.toString());
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
xListView.setAdapter(adapter);
alllist.addAll(list);
adapter.addrest(alllist);
}
});
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onRefresh() {
// TODO Auto-generated method stub
pageIndex++;
list.clear();
alllist.clear();
infoa(pageIndex);
onLoad();
}
@Override
public void onLoadMore() {
// TODO Auto-generated method stub
pageIndex++;
infoa(pageIndex);
onLoad();
}
public void onLoad() {
xListView.stopRefresh();
xListView.stopLoadMore();
// 设置日期格式
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 获取当前系统时间
String nowTime = df.format(new Date(System.currentTimeMillis()));
// 释放时提示正在刷新时的当前时间
xListView.setRefreshTime(nowTime);
}
}