package com.example.day10_xlistview2;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.google.gson.Gson;
import com.limxing.xlistview.view.XListView;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.List;
public class MainActivity extends AppCompatActivity{
private XListView xlv;
int indax=1;
Youhua youhua;
private boolean flag = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xlv = (XListView) findViewById(R.id.xlv);
//设置上啦下拉刷新
xlv.setPullLoadEnable(true);
//xlv监听事件
xlv.setXListViewListener(new XListView.IXListViewListener() {
//下拉刷新
@Override
public void onRefresh() {
flag = false;
indax--;
if (indax ==1){
indax=5;
}
getData("http://apis.juhe.cn/cook/query.php",indax+"",10+"");
Toast.makeText(MainActivity.this,"刷新完成",Toast.LENGTH_SHORT).show();
xlv.stopRefresh(true); } //上啦加载 @Override public void onLoadMore() { flag = true; indax--; if (indax == 1){ indax =5; } getData("http://apis.juhe.cn/cook/query.php",indax+"",10+""); Toast.makeText(MainActivity.this,"加载完成",Toast.LENGTH_SHORT).show();
xlv.stopLoadMore(); } }); //1=第一条数据 , 2=等于一次加载10添加数据 getData("http://apis.juhe.cn/cook/query.php",indax+"",10+""); } //pn等于开始页面 rn等于下一个页面 public void getData(String data,String pn,String rn){ new AsyncTask<String,Void,String>(){ @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); List<Bean.ResultBean.DataBean> list = bean.getResult().getData(); //绑定适配器 youhua = new Youhua(list); xlv.setAdapter(youhua); } @Override protected String doInBackground(String... strings) { try { String url = strings[0]; String pn = strings[1]; String rn = strings[2]; HttpURLConnection connection= (HttpURLConnection) new URL(url).openConnection(); connection.setRequestMethod("POST"); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); //POST方法 OutputStream os = connection.getOutputStream(); os.write(("key=81921c6270f37eeec75be4081bd61e91&menu=" + URLEncoder.encode("秘制红烧肉","utf-8")+"&pn="+pn+"&rn="+rn).getBytes()); os.flush(); int code = connection.getResponseCode(); if (code == 200){ InputStream is = connection.getInputStream(); String shuju = Jiexi.shuju(is); return shuju; } } catch (Exception e) { e.printStackTrace(); } return null; } }.execute(data,pn,rn); } //适配器 class Youhua extends BaseAdapter{ List<Bean.ResultBean.DataBean> list; public Youhua(List<Bean.ResultBean.DataBean> list) { this.list = list; } @Override public int getCount() { if (list != null){ return list.size(); } return 0; } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { TextView tv = new TextView(MainActivity.this); tv.setHeight(100); tv.setText(list.get(i).getTags()); return tv; } }}