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; }
阅读全文
0 0
- ViewPager+小圆点_ListView网络请求
- ViewPager加小圆点
- ViewPager+小圆点
- viewpager加小圆点
- viewpager+小圆点
- viewpager+小圆点
- viewpager画小圆点
- viewPager小圆点
- ViewPager小圆点
- ViewPager+小圆点
- ViewPager小圆点滑动
- ViewPager+小圆点联动
- viewpager+ 小圆点 练习
- Viewpager与小圆点
- 小圆点与viewpager
- viewpager 小圆点
- ViewPager加载网络图片+自动轮播+小圆点指示
- viewpager动态添加小圆点
- 添加频道的兴趣爱好
- git好用的命令
- redis多线程排序Demo
- centos 6.8 + pgsql 9.6 + dblink
- 七夕程序:特效烟花 —— 分析
- ViewPager+小圆点_ListView网络请求
- 一个可以判定手机还是PC的PHP函数
- AES加密中的异常
- 字符串的统计
- js实现新增内容滚动播放效果
- 玩转Android二维码
- 你真的会SQL注入攻击吗?(上)
- (HDU
- java实现分组最少重复算法