private ImageView image_View; private PullToRefreshScrollView pull_ref; //页数 private int pageIndex = 1; //操作的类型 1:下拉刷新 2:上拉加载 private int type = 1; // 给Bean包设置一个集合 private List<MyBean.DataBean> list = new ArrayList<>(); // 网络地址 private String path = "http://ic.snssdk.com/2/article/v25/stream/?category=news_tech&count=20&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1457695555&loc_mode=5&lac=4527&cid=28883&iid=3835029558&device_id=12211880440&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=iToolsAVM&os_api=2"; private ListBaseadapte adapter; private MyBean myBean; private Banner ban; private ListView my_list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); // 写成集合把图片放进去 List<String> li = new ArrayList<>(); //进行放入 li.add("http://pic8.nipic.com/20100701/5290458_114840036316_2.jpg"); li.add("http://pic2.nipic.com/20090424/1468853_230119053_2.jpg"); li.add("http://img3.3lian.com/2013/s1/20/d/57.jpg"); li.add("http://pic39.nipic.com/20140226/18071023_164300608000_2.jpg"); li.add("http://a0.att.hudong.com/15/08/300218769736132194086202411_950.jpg"); ban.setImageLoader(new BannerImageLoader()); ban.setImages(li); ban.start(); pull_ref.setMode(PullToRefreshBase.Mode.BOTH); pull_ref.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) { type = 1; String path = "http://ic.snssdk.com/2/article/v25/stream/?category=news_tech&count=20&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1457695555&loc_mode=5&lac=4527&cid=28883&iid=3835029558&device_id=12211880440&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=iToolsAVM&os_api=" + pageIndex; new asyncTask().execute(path); } @Override public void onPullUpToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) { type = 2; pageIndex++; String path = "http://ic.snssdk.com/2/article/v25/stream/?category=news_tech&count=20&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1457695555&loc_mode=5&lac=4527&cid=28883&iid=3835029558&device_id=12211880440&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=iToolsAVM&os_api=" + pageIndex; new asyncTask().execute(path); } }); new asyncTask().execute(path); } class asyncTask extends AsyncTask<String, Void, String> { //子线程 @Override protected String doInBackground(String... params) { try { URL url = new URL(params[0]); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); int responseCode = connection.getResponseCode(); if (responseCode == 200) { InputStream inputStream = connection.getInputStream(); String s = StreamToString(inputStream, "UTF-8"); return s; } } catch (Exception e) { e.printStackTrace(); } return null; } //主线程 @Override protected void onPostExecute(String s) { super.onPostExecute(s); Log.d("sss", "+++解析+++++" + s); Gson gson = new Gson(); myBean = gson.fromJson(s, MyBean.class); //代表刷新 if (type == 1) { //如果是刷新的话 list.clear();//清除原有的数据 } list.addAll(myBean.getData());//添加新的数据 setAdapter(); pull_ref.onRefreshComplete(); } } //新建一个适配器 public void setAdapter() { if (adapter == null) { Log.d("SSSSSSSSSSSSSS", "+++++++listtttttt++++++++" + list); adapter = new ListBaseadapte(MainActivity.this, list); my_list.setAdapter(adapter); } else { //否则刷新适配器 adapter.notifyDataSetChanged(); } } //解析数据 private String StreamToString(InputStream inputStream, String s) { try { InputStreamReader inputStreamReader = new InputStreamReader(inputStream, s); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String a = ""; StringBuilder stringBuilder = new StringBuilder(); while ((a = bufferedReader.readLine()) != null) { stringBuilder.append(a); } bufferedReader.close(); return stringBuilder.toString(); } catch (Exception e) { e.printStackTrace(); } return ""; } //获得控件 private void initView() { // image_View = (ImageView) findViewById(R.id.imageView); my_list = (ListView) findViewById(R.id.My_list); pull_ref = (PullToRefreshScrollView) findViewById(R.id.pull_ref); ban = (Banner) findViewById(R.id.ban); }
三.PullToRefreshScrollView 整体下拉刷新下拉加载 主方法里面
最新推荐文章于 2024-06-20 23:29:09 发布