tabla

来源:互联网 发布:淘宝海纳百川手机壁纸 编辑:程序博客网 时间:2024/05/21 09:53
public class Fragment1 extends Fragment{
    private List<ShuJu> data = new ArrayList<>();
    private TabLayout mytab;
    private ViewPager viewPager;


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment1, container, false);
        mytab = view.findViewById(R.id.MtTab);
        viewPager = view.findViewById(R.id.viewpager);


        data.add(new ShuJu("新闻","http://www.93.gov.cn/93app/data.do?channelId=2&startNum=1"));
        data.add(new ShuJu("北京","http://www.93.gov.cn/93app/data.do?channelId=2&startNum=2"));
        data.add(new ShuJu("南京","http://www.93.gov.cn/93app/data.do?channelId=2&startNum=3"));
        data.add(new ShuJu("深圳","http://www.93.gov.cn/93app/data.do?channelId=2&startNum=4"));
        data.add(new ShuJu("广州","http://www.93.gov.cn/93app/data.do?channelId=2&startNum=5"));
        data.add(new ShuJu("杭州","http://www.93.gov.cn/93app/data.do?channelId=2&startNum=6"));
        data.add(new ShuJu("娱乐","http://www.93.gov.cn/93app/data.do?channelId=2&startNum=7"));
        data.add(new ShuJu("小事","http://www.93.gov.cn/93app/data.do?channelId=2&startNum=8"));
        data.add(new ShuJu("大事","http://www.93.gov.cn/93app/data.do?channelId=2&startNum=9"));


       return view;
    }


    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        viewPager.setAdapter(new Myadapter(getActivity().getSupportFragmentManager()));
        mytab.setupWithViewPager(viewPager);

    }


   //viewpager 与  TabLayout的适配器
   class Myadapter extends FragmentPagerAdapter{


       public Myadapter(FragmentManager fm) {
           super(fm);
       }


       @Override
       public CharSequence getPageTitle(int position) {
           return data.get(position).getNaem();
       }


       @Override
       public Fragment getItem(int position) {
           Zi_Fragment zi_fragment = new Zi_Fragment();


           //传递参数
           Bundle bundle=new Bundle();//key:string vavle:object
           bundle.putString("url",data.get(position).getUrl());
           zi_fragment.setArguments(bundle);
           return zi_fragment;
       }


       @Override
       public int getCount() {
           return data.size();
       }
   }

}

public class Zi_Fragment extends Fragment{
    private String url;
    private PullToRefreshListView plistview;
    private List<JiHe.DataBean> list = new ArrayList<>();
    private DisplayImageOptions option;


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.zi_fragment,null);
        plistview = view.findViewById(R.id.zi_plistview);
        //图片初始化与设置图片
        ImageLoaderutils.initImageLoader(getActivity());
        option = ImageLoaderutils.getImageOption(getActivity());
        //接收参数
        Bundle arguments = getArguments();
        if(arguments!=null){
            url = arguments.getString("url");
        }
        intoplistview();
        return view;
    }




    private void intoplistview() {


        plistview.setMode(PullToRefreshBase.Mode.BOTH);


        ILoadingLayout headerPlv = plistview.getLoadingLayoutProxy(true, false);
        headerPlv.setRefreshingLabel("正在刷新");
        headerPlv.setReleaseLabel("放开刷新");
        headerPlv.setPullLabel("下拉刷新");
        ILoadingLayout footerPlv = plistview.getLoadingLayoutProxy(false, true);
        footerPlv.setRefreshingLabel("正在加载");
        footerPlv.setReleaseLabel("放开加载");
        footerPlv.setPullLabel("下拉加载");


        plistview.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {


                MyNetTask task = new MyNetTask(new MyNetTask.IcallBack() {
                    @Override
                    public void getJsonData(String jsonStr) {
                        Gson gson = new Gson();
                        JiHe jiHe = gson.fromJson(jsonStr, JiHe.class);
                        list.clear();
                        List<JiHe.DataBean> data1 = jiHe.getData();
                        list.addAll(data1);
                        plistview.setAdapter(new Myadapter());
                        plistview.onRefreshComplete();
                    }
                });
                task.execute(url);
            }


            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                MyNetTask task = new MyNetTask(new MyNetTask.IcallBack() {
                    @Override
                    public void getJsonData(String jsonStr) {
                        Gson gson = new Gson();
                        JiHe jiHe = gson.fromJson(jsonStr, JiHe.class);
                        List<JiHe.DataBean> data1 = jiHe.getData();
                        list.addAll(data1);
                        plistview.setAdapter(new Myadapter());
                        plistview.onRefreshComplete();
                    }
                });
                task.execute(url);
            }
        });
    }


    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        MyNetTask task = new MyNetTask(new MyNetTask.IcallBack() {
            @Override
            public void getJsonData(String jsonStr) {
                Gson gson = new Gson();
                JiHe jiHe = gson.fromJson(jsonStr, JiHe.class);
                List<JiHe.DataBean> data = jiHe.getData();
                list = data;
                plistview.setAdapter(new Myadapter());
            }
        });
        task.execute(url);
    }






    //适配器
    public class Myadapter extends BaseAdapter{


        @Override
        public int getItemViewType(int position) {
            if(position % 2 == 0){
                return 0;
            }else{
                return 1;
            }
        }
        @Override
        public int getViewTypeCount() {
            return 2;
        }
        @Override
        public int getCount() {
            return list.size();
        }
        @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) {
            int itemViewType = getItemViewType(i);
            if(itemViewType == 0){
                ViewHolder0 holder;
                if(view == null){
                    view = View.inflate(getActivity(),R.layout.listview0,null);
                    holder = new ViewHolder0();
                    holder.tu = view.findViewById(R.id.tu_list_0);
                    holder.name = view.findViewById(R.id.name_list_0);
                    view.setTag(holder);
                }else{
                    holder = (ViewHolder0) view.getTag();
                }
                    MyBannerLoader.getInstance().displayImage(
                            list.get(i).getIMAGEURL(),holder.tu,option);


                    holder.name.setText(list.get(i).getTITLE());
            }else{
                ViewHolder1 holder1;
                if(view == null){
                    view = View.inflate(getActivity(),R.layout.listview1,null);
                    holder1 = new ViewHolder1();
                    holder1.tu = view.findViewById(R.id.tu_list_1);
                    holder1.name = view.findViewById(R.id.name_list_1);
                    view.setTag(holder1);
                }else{
                    holder1 = (ViewHolder1) view.getTag();
                }
                MyBannerLoader.getInstance().displayImage(
                        list.get(i).getIMAGEURL(),holder1.tu,option);
                holder1.name.setText(list.get(i).getTITLE());
            }
            return view;
        }
        class ViewHolder0{
            ImageView tu;
            TextView name;
        }
        class ViewHolder1{
            ImageView tu;
            TextView name;
        }
    }
}


原创粉丝点击