package com.example.xiangmuexml;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.LinkedList;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import me.maxwin.XListViewActivity;
import me.maxwin.view.XListView;
public class MainActivity extends XListViewActivity {
int i = 0;
private LinkedList<Bean1> list;
private XListView xlv;
private LinkedList<Bean1> newlist=new LinkedList<Bean1>();
private Handler handler = new Handler() {
private MyAdapter adapter;
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case 1:
newlist = list;
adapter = new MyAdapter(MainActivity.this, newlist);
xlv.setAdapter(adapter);
break;
// 刷新
case 2:
newlist.clear();
for (Bean1 news : list) {
// 向开头添加
newlist.addFirst(news);
}
// 刷新适配器
adapter.notifyDataSetChanged();
close();
break;
// 加载更多
case 3:
for (Bean1 news : list) {
// 向结尾添加
newlist.addLast(news);
}
// 刷新适配器
adapter.notifyDataSetChanged();
close();
break;
}
};
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xlv=(XListView)findViewById(R.id.xlistView);
xlv.setPullLoadEnable(true);
xlv.setPullRefreshEnable(true);
xlv.setXListViewListener(this);
initData(1);
}
private void initData(final int index) {
final String path = "http://www.oschina.net/action/api/news_list?catalog=1&pageIndex="
+ i;
new Thread() {
public void run() {
try {
URL url = new URL(path);
URLConnection connection = url.openConnection();
InputStream inputStream = connection.getInputStream();
list = PullParserUtiuls.getXml(inputStream);
Log.e("Log",list.size()+"");
handler.sendEmptyMessage(index);
} catch (Exception e) {
e.printStackTrace();
}
};
}.start();
}
@Override
public void onRefresh() {
i++;
initData(2);
}
@Override
public void onLoadMore() {
i++;
initData(3);
}
public void close() {
xlv.stopLoadMore();
xlv.stopRefresh();
}
}
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.LinkedList;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import me.maxwin.XListViewActivity;
import me.maxwin.view.XListView;
public class MainActivity extends XListViewActivity {
int i = 0;
private LinkedList<Bean1> list;
private XListView xlv;
private LinkedList<Bean1> newlist=new LinkedList<Bean1>();
private Handler handler = new Handler() {
private MyAdapter adapter;
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case 1:
newlist = list;
adapter = new MyAdapter(MainActivity.this, newlist);
xlv.setAdapter(adapter);
break;
// 刷新
case 2:
newlist.clear();
for (Bean1 news : list) {
// 向开头添加
newlist.addFirst(news);
}
// 刷新适配器
adapter.notifyDataSetChanged();
close();
break;
// 加载更多
case 3:
for (Bean1 news : list) {
// 向结尾添加
newlist.addLast(news);
}
// 刷新适配器
adapter.notifyDataSetChanged();
close();
break;
}
};
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xlv=(XListView)findViewById(R.id.xlistView);
xlv.setPullLoadEnable(true);
xlv.setPullRefreshEnable(true);
xlv.setXListViewListener(this);
initData(1);
}
private void initData(final int index) {
final String path = "http://www.oschina.net/action/api/news_list?catalog=1&pageIndex="
+ i;
new Thread() {
public void run() {
try {
URL url = new URL(path);
URLConnection connection = url.openConnection();
InputStream inputStream = connection.getInputStream();
list = PullParserUtiuls.getXml(inputStream);
Log.e("Log",list.size()+"");
handler.sendEmptyMessage(index);
} catch (Exception e) {
e.printStackTrace();
}
};
}.start();
}
@Override
public void onRefresh() {
i++;
initData(2);
}
@Override
public void onLoadMore() {
i++;
initData(3);
}
public void close() {
xlv.stopLoadMore();
xlv.stopRefresh();
}
}