private XListView xlv;
String path = "";
String refresh = "http://ic.snssdk.com/2/article/v25/stream/?count=20&min_behot_time=1473057356&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1473059010&loc_mode=5&loc_time=1473001407&latitude=39.91488833333334&longitude=116.40387666666666&city=北京&lac=40965&cid=1388769&iid=5428157173&device_id=27747569727&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=GT-P5210&os_api=17&os_version=4.2.2&uuid=133524576599053&openudid=9030044003655157";
private List<Data> list=new ArrayList<Data>();
private BeanaAdapter adapter;
@SuppressLint("HandlerLeak")
Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
String json=(String) msg.obj;
Gson gson=new Gson();
int i=msg.arg1;
Bean bean = gson.fromJson(json, Bean.class);
//list=bean.getData();
//刷新
if(i==0){
list.clear();
list.addAll(bean.getData());
adapter.notifyDataSetChanged();
stopXlistView();
//缓存
}else if(i==1){
list.addAll(bean.getData());
adapter.notifyDataSetChanged();
stopXlistView();
}
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xlv = (XListView) findViewById(R.id.xlv);
// 设置激活上拉加载更多
xlv.setPullLoadEnable(true);
xlv.setXListViewListener(new IXListViewListener() {
@Override
public void onRefresh() {
getData(0);
}
@Override
public void onLoadMore() {
getData(1);
}
});
getData(1);
adapter = new BeanaAdapter(list, MainActivity.this);
xlv.setAdapter(adapter);
xlv.setOnItemClickListener(listener);
}
OnItemClickListener listener=new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Intent intent=new Intent(MainActivity.this, WebViewActivity.class);
intent.putExtra("url", list.get(arg2-1).getShare_url());
startActivity(intent);
}
};
private void getData(final int i) {
HttpUtils http=new HttpUtils();
// httputils默认60刷新,否则用缓存
http.configCurrentHttpCacheExpiry(0);
path=refresh;
http.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);
}
});
}
@SuppressLint("SimpleDateFormat")
public void stopXlistView() {
SimpleDateFormat formatter = new SimpleDateFormat(" HH:mm:ss");
Date curDate = new Date(System.currentTimeMillis());// 获取当前时间
String str2 = formatter.format(curDate);
// 设置刷新时间
xlv.setRefreshTime(str2);
// 停止加载更多
xlv.stopLoadMore();
// 停止刷新
xlv.stopRefresh();
}
String path = "";
String refresh = "http://ic.snssdk.com/2/article/v25/stream/?count=20&min_behot_time=1473057356&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1473059010&loc_mode=5&loc_time=1473001407&latitude=39.91488833333334&longitude=116.40387666666666&city=北京&lac=40965&cid=1388769&iid=5428157173&device_id=27747569727&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=GT-P5210&os_api=17&os_version=4.2.2&uuid=133524576599053&openudid=9030044003655157";
private List<Data> list=new ArrayList<Data>();
private BeanaAdapter adapter;
@SuppressLint("HandlerLeak")
Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
String json=(String) msg.obj;
Gson gson=new Gson();
int i=msg.arg1;
Bean bean = gson.fromJson(json, Bean.class);
//list=bean.getData();
//刷新
if(i==0){
list.clear();
list.addAll(bean.getData());
adapter.notifyDataSetChanged();
stopXlistView();
//缓存
}else if(i==1){
list.addAll(bean.getData());
adapter.notifyDataSetChanged();
stopXlistView();
}
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xlv = (XListView) findViewById(R.id.xlv);
// 设置激活上拉加载更多
xlv.setPullLoadEnable(true);
xlv.setXListViewListener(new IXListViewListener() {
@Override
public void onRefresh() {
getData(0);
}
@Override
public void onLoadMore() {
getData(1);
}
});
getData(1);
adapter = new BeanaAdapter(list, MainActivity.this);
xlv.setAdapter(adapter);
xlv.setOnItemClickListener(listener);
}
OnItemClickListener listener=new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Intent intent=new Intent(MainActivity.this, WebViewActivity.class);
intent.putExtra("url", list.get(arg2-1).getShare_url());
startActivity(intent);
}
};
private void getData(final int i) {
HttpUtils http=new HttpUtils();
// httputils默认60刷新,否则用缓存
http.configCurrentHttpCacheExpiry(0);
path=refresh;
http.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);
}
});
}
@SuppressLint("SimpleDateFormat")
public void stopXlistView() {
SimpleDateFormat formatter = new SimpleDateFormat(" HH:mm:ss");
Date curDate = new Date(System.currentTimeMillis());// 获取当前时间
String str2 = formatter.format(curDate);
// 设置刷新时间
xlv.setRefreshTime(str2);
// 停止加载更多
xlv.stopLoadMore();
// 停止刷新
xlv.stopRefresh();
}