private int pageIndex=10; private int opertype=1; private ListView listview; private PullToRefreshScrollView psv; private String myurl="http://api.tianapi.com/social/?key=fd364dc1b4af6c87a75045aaf1f9224a&num="+pageIndex; private ViewPager lunbovp; private List<ResultData.NewslistBean> datas=new ArrayList <> (); private ListviewAdapter listviewAdapter; private List<String> imgs=new ArrayList <> (); private List<ImageView> lists=new ArrayList <> (); private Handler handler=new Handler (){ @Override public void handleMessage(Message msg) { int cindex = lunbovp.getCurrentItem ( ); cindex++; lunbovp.setCurrentItem (cindex); setSelectimg(cindex%imgs.size ()); sendEmptyMessageDelayed (1,1000); } }; private LinearLayout linpoint; //设置选中的小圆点 private void setSelectimg(int pageIndex) { for (int i = 0; i < lists.size (); i++) { if(i==pageIndex){ lists.get (i).setImageResource (R.drawable.point_selected); }else{ lists.get (i).setImageResource (R.drawable.point_unselected); } } } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v=inflater.inflate (R.layout.ym5,container,false); //初始化控件 listview = v.findViewById (R.id.listview); psv = v.findViewById (R.id.psv); lunbovp = v.findViewById (R.id.lunbovp); linpoint = v.findViewById (R.id.linpoint); return v; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated (savedInstanceState); //请求网络数据 data(); //初始化 pullToRefreshScrollView initplv(); //初始轮播图 initlunvp(); } private void initlunvp() { imgs.clear (); imgs.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151721118&di=649c9a43aed72fbc4d99ec1a031510c6&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F015c7d574b9f8f6ac72525aee98351.jpg"); imgs.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151956771&di=0eb6f306991d24b67a13ceb336f80102&imgtype=0&src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farchive%2F00613def3f1beb7a35ae136341be2b589bc46a2d.jpg_320x200.jpg"); imgs.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151847685&di=c7a4b5d08ec43fa629bcb690039a7629&imgtype=0&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_080625%2F20080625_2e91a10c444877e88827vri2ZKdGMvQo.jpg"); imgs.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151825129&di=70bf74b87d8a15cb91a2d79f15ed0eaf&imgtype=0&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_081016%2F20081016_fee215664d5740e56c13E2YB8giERFEX.jpg"); imgs.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505746504&di=930c4d677a02328a142d6fa85ed14580&imgtype=jpg&er=1&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_090113%2F20090113_6ac58b42bea94f0b318e1B6BZb5lPZl5.jpg"); for (int i = 0; i < imgs.size ( ); i++) { ImageView imageView = new ImageView (getActivity ()); if(i==0){ imageView.setImageResource (R.drawable.point_selected); }else{ imageView.setImageResource (R.drawable.point_unselected); } linpoint.addView (imageView); lists.add (imageView); } MyVpadapter myVpadapter = new MyVpadapter (imgs,getActivity ( )); lunbovp.setAdapter (myVpadapter); lunbovp.setCurrentItem (imgs.size ()*10); handler.sendEmptyMessageDelayed (1,1000); } private void data() { new MyTask ().execute (myurl); } //异步请求数据 class MyTask extends AsyncTask<String,Void,String> { @Override protected String doInBackground(String... strings) { try { URL url=new URL(strings[0]); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setReadTimeout(5000); urlConnection.setConnectTimeout(5000); if(urlConnection.getResponseCode()==200){ InputStream inputStream = urlConnection.getInputStream(); String s = streamToString(inputStream); return s; } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson=new Gson(); ResultData resultData = gson.fromJson (s, ResultData.class); List<ResultData.NewslistBean> newslist = resultData.getNewslist ( ); if(opertype==1){ datas.clear (); } datas.addAll (newslist); setadapter(); psv.onRefreshComplete (); } } //设置适配器 private void setadapter() { if(listviewAdapter==null){ listviewAdapter = new ListviewAdapter (datas,getActivity ( )); listview.setAdapter (listviewAdapter); }else{ listviewAdapter.notifyDataSetChanged (); } } //转成string private String streamToString(InputStream stream) { StringBuilder sbuilder=new StringBuilder(); String str; BufferedReader reader=new BufferedReader(new InputStreamReader (stream)); try { while ((str=reader.readLine())!=null){ sbuilder.append(str); } } catch (Exception e) { e.printStackTrace(); } return sbuilder.toString(); } private void initplv() { psv.setMode (PullToRefreshBase.Mode.BOTH); psv.setOnRefreshListener (new PullToRefreshBase.OnRefreshListener2 <ScrollView> ( ) { @Override public void onPullDownToRefresh(PullToRefreshBase <ScrollView> pullToRefreshBase) { pageIndex=10; opertype=1; myurl="http://api.tianapi.com/social/?key=fd364dc1b4af6c87a75045aaf1f9224a&num="+pageIndex; handler.removeMessages (0); data (); } @Override public void onPullUpToRefresh(PullToRefreshBase <ScrollView> pullToRefreshBase) { pageIndex++; opertype=2; myurl="http://api.tianapi.com/social/?key=fd364dc1b4af6c87a75045aaf1f9224a&num="+pageIndex; handler.removeMessages (0); data (); } }); }
使用PullToRefreshScrollView+轮播图
最新推荐文章于 2019-01-10 15:13:42 发布