ViewPager+小圆点_ListView网络请求

来源:互联网 发布:yum tcpdump 编辑:程序博客网 时间:2024/06/06 09:04
public class FragmentNews extends Fragment {    private ViewPager vp;    private ListView lv;    private RadioGroup rg;    private RadioButton rb_news;    private RadioButton rb_me;    private VpBean vb;    private List<ImageView> viewList;    private MyPagerAdapter adapter;    int index = 0;    List<RadioButton> rbs = new ArrayList<RadioButton>();    Handler handler = new Handler();    private LvBean lb;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {            View view = View.inflate(getActivity(), R.layout.frag_news,null);        vp = view.findViewById(R.id.ya_news_vp);        lv = view.findViewById(R.id.ya_news_lv);        rg = view.findViewById(R.id.ya_news_rg);        rb_news = view.findViewById(R.id.ya_rg_news);        rb_me = view.findViewById(R.id.ya_rg_me);        RadioButton rb1 = view.findViewById(R.id.news_rb1);        RadioButton rb2 = view.findViewById(R.id.news_rb2);        RadioButton rb3 = view.findViewById(R.id.news_rb3);        RadioButton rb4 = view.findViewById(R.id.news_rb4);        rb1.setChecked(true);        rbs.add(rb1);        rbs.add(rb2);        rbs.add(rb3);        rbs.add(rb4);        initData();        vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {            @Override            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {            }            @Override            public void onPageSelected(int position) {                checkRb(index);            }            @Override            public void onPageScrollStateChanged(int state) {            }        });        return view;    }    private void checkRb(int index) {        for (int i = 0; i <rbs.size() ; i++) {            if(i == index){                rbs.get(i).setChecked(true);            }else{                rbs.get(i).setChecked(false);            }        }    }    private void initData() {        new AsyncTask<String,Integer,String>(){            @Override            protected void onPostExecute(String s) {                initVp();                //adapter.notifyDataSetChanged();                initLv();                super.onPostExecute(s);            }            @Override            protected String doInBackground(String... strings) {                getVpData();                getLvData();                return null;            }        }.execute();    }    private void initLv() {        MyAdapter adapter = new MyAdapter();        lv.setAdapter(adapter);    }    private void getLvData() {        try {            URL url = new URL("http://");//            HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();            HttpURLConnection conn = (HttpURLConnection) url.openConnection();            int code = conn.getResponseCode();            if(code == 200){                Gson gson = new Gson();                lb = gson.fromJson(new InputStreamReader(conn.getInputStream(),"UTF-8"),LvBean.class);            }        } catch (Exception e) {            e.printStackTrace();        }    }    private void initVp() {        viewList = new ArrayList<ImageView>();        if(vb != null){            for (int i = 0; i <vb.getBanner().size() ; i++) {                ImageView iv = new ImageView(getActivity());                iv.setScaleType(ImageView.ScaleType.FIT_XY);                ImageLoader.getInstance().displayImage(vb.getBanner().get(i).getImage_url(),iv);                viewList.add(iv);            }        }        adapter = new MyPagerAdapter();        vp.setAdapter(adapter);        handler.postDelayed(new Runnable() {            @Override            public void run() {                index = vp.getCurrentItem();                index ++;                vp.setCurrentItem(index);                handler.postDelayed(this,2000);            }        },2000);    }    private void getVpData() {        try {            URL url = new URL("http://result.eolinker.com/iYXEPGn4e9c6dafce6e5cdd23287d2bb136ee7e9194d3e9?uri=banner");//            HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();            HttpURLConnection conn = (HttpURLConnection) url.openConnection();            int code = conn.getResponseCode();            if(code == 200){                Gson gson = new Gson();                vb = gson.fromJson(new InputStreamReader(conn.getInputStream(),"UTF-8"),VpBean.class);            }        } catch (Exception e) {            e.printStackTrace();        }    }    class MyPagerAdapter extends PagerAdapter{        @Override        public int getCount() {            if(vb != null){                return Integer.MAX_VALUE;            }            return 0;        }        @Override        public boolean isViewFromObject(View view, Object object) {            return view == object;        }        @Override        public Object instantiateItem(ViewGroup container, int position) {            index = position % vb.getBanner().size();            container.addView(viewList.get(index));            return viewList.get(index);        }        @Override        public void destroyItem(ViewGroup container, int position, Object object) {            container.removeView((View) object);        }    }    class MyAdapter extends BaseAdapter{        @Override        public int getCount() {            if(lb.getData() != null){                return lb.getData().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) {            ViewHolder holder;            if(view == null){                holder = new ViewHolder();                view = View.inflate(getActivity(),R.layout.lv_item,null);                holder.news_lv_title = view.findViewById(R.id.news_lv_title);                holder.news_lv_content = view.findViewById(R.id.news_lv_content);                holder.news_lv_pic = view.findViewById(R.id.news_lv_pic);                view.setTag(holder);            }else{                holder = (ViewHolder) view.getTag();            }            holder.news_lv_title.setText(lb.getData().get(i).getTitle());            holder.news_lv_content.setText(lb.getData().get(i).getContent());            ImageLoader.getInstance().displayImage(lb.getData().get(i).getImage_url(),holder.news_lv_pic);            return view;        }    }    class ViewHolder{        TextView news_lv_title,news_lv_content;        ImageView news_lv_pic;    }
原创粉丝点击