public class MainActivity extends Activity implements IXListViewListener {
String path = "";
// 上拉刷新接口
String refresh = "";
// 下来加载接口
String more = "";
List<Bean> dataList= new ArrayList<>();
Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
String json = (String) msg.obj;
int i = msg.arg1;
Gson gson = new Gson();
DataBean dataBean = gson.fromJson(json, DataBean.class);
// 刷新
if (i == 0) {
dataList.clear();
dataList.addAll(dataBean.data);
myBaseAdapter.notifyDataSetChanged();
stopXListView();
// 加载更多
} else if (i == 1) {
dataList.addAll(dataBean.data);
myBaseAdapter.notifyDataSetChanged();
stopXListView();
}
};
};
private XListView xListView;
private MyBaseAdapter myBaseAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xListView = (XListView) findViewById(R.id.xListView);
xListView.setPullLoadEnable(true);
xListView.setXListViewListener(this);
getData(1);
myBaseAdapter = new MyBaseAdapter(MainActivity.this, dataList);
xListView.setAdapter(myBaseAdapter);
xListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
startActivity(new Intent(MainActivity.this,
WebViewActivity.class).putExtra("path",
dataList.get(position-1).share_url));
}
});
}
/**
*
* @param i 区分是刷新,还是加载更多
*/
private void getData(final int i) {
HttpUtils httpUtils = new HttpUtils();
// httputils默认60刷新,否则用缓存
httpUtils.configCurrentHttpCacheExpiry(0);
if(i==0){
path=refresh;
}else if(i==1){
path=refresh;
}
httpUtils.send(HttpMethod.GET, path, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
String result = arg0.result;
Message msg = Message.obtain();
msg.obj = result;
msg.arg1=i;
handler.sendMessage(msg);
}
});
}
@Override//刷新
public void onRefresh() {
getData(0);
}
@Override//加载更多
public void onLoadMore() {
getData(1);
}
public void stopXListView(){
xListView.stopLoadMore();
xListView.stopRefresh();
}
}
String path = "";
// 上拉刷新接口
String refresh = "";
// 下来加载接口
String more = "";
List<Bean> dataList= new ArrayList<>();
Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
String json = (String) msg.obj;
int i = msg.arg1;
Gson gson = new Gson();
DataBean dataBean = gson.fromJson(json, DataBean.class);
// 刷新
if (i == 0) {
dataList.clear();
dataList.addAll(dataBean.data);
myBaseAdapter.notifyDataSetChanged();
stopXListView();
// 加载更多
} else if (i == 1) {
dataList.addAll(dataBean.data);
myBaseAdapter.notifyDataSetChanged();
stopXListView();
}
};
};
private XListView xListView;
private MyBaseAdapter myBaseAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xListView = (XListView) findViewById(R.id.xListView);
xListView.setPullLoadEnable(true);
xListView.setXListViewListener(this);
getData(1);
myBaseAdapter = new MyBaseAdapter(MainActivity.this, dataList);
xListView.setAdapter(myBaseAdapter);
xListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
startActivity(new Intent(MainActivity.this,
WebViewActivity.class).putExtra("path",
dataList.get(position-1).share_url));
}
});
}
/**
*
* @param i 区分是刷新,还是加载更多
*/
private void getData(final int i) {
HttpUtils httpUtils = new HttpUtils();
// httputils默认60刷新,否则用缓存
httpUtils.configCurrentHttpCacheExpiry(0);
if(i==0){
path=refresh;
}else if(i==1){
path=refresh;
}
httpUtils.send(HttpMethod.GET, path, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
String result = arg0.result;
Message msg = Message.obtain();
msg.obj = result;
msg.arg1=i;
handler.sendMessage(msg);
}
});
}
@Override//刷新
public void onRefresh() {
getData(0);
}
@Override//加载更多
public void onLoadMore() {
getData(1);
}
public void stopXListView(){
xListView.stopLoadMore();
xListView.stopRefresh();
}
}