//Gson解析 加多条目展示 加上拉刷新 下拉加载
import android.content.Intent; import android.os.Handler; import android.os.Message; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import com.example.asus.application.activity.threeActivity; import com.example.asus.application.baseadapter.BaseAdapter; import com.example.asus.application.bean.Bean; import com.google.gson.Gson; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshListView; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import java.util.List; public class MainActivity extends BaseAdapter { private PullToRefreshListView listView; private MyAdapter adapter; private int count=10; private List<Bean.ResultBean.DataBean> list; private String path="http://172.17.8.100/mobile/exam/findNewList"; private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); String json= (String) msg.obj; Gson gson = new Gson(); Bean bean = gson.fromJson(json, Bean.class); if(count==10){ list.clear(); } list.addAll(bean.getResult().getData()); adapter.notifyDataSetChanged(); listView.onRefreshComplete(); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = findViewById(R.id.pullt); listView.setMode(PullToRefreshBase.Mode.BOTH); listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) { count=10; getsear(path); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) { count++; getsear(path); } }); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { Bean.ResultBean.DataBean item = (Bean.ResultBean.DataBean) adapter.getItem(i); Intent it=new Intent(MainActivity.this,threeActivity.class); it.putExtra("url",item.getUrl()); startActivity(it); finish(); } }); list=new ArrayList<>(); adapter = new MyAdapter(list, this); listView.setAdapter(adapter); getsear(path); } private void getsear(final String path) { new Thread(){ @Override public void run() { try { URL url=new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); connection.setRequestMethod("GET"); if(connection.getResponseCode()==200){ InputStream inputStream =connection.getInputStream(); ByteArrayOutputStream bos = new ByteArrayOutputStream(); int len=-1; byte[] buttf=new byte[1024]; while ((len=inputStream.read(buttf))!=-1){ bos.write(buttf,0,len); } bos.close(); inputStream.close(); String json=bos.toString(); Message message = new Message(); message.what=0; message.obj=json; handler.sendMessage(message); } } catch (Exception e) { e.printStackTrace(); } super.run(); } }.start(); } }