Tablayout +Viewpager 解析

package com.bwie.moni2.xinwen;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.ImageView;

import com.bwie.moni2.Fengzhuang;
import com.bwie.moni2.MainActivity;
import com.bwie.moni2.R;
import com.bwie.moni2.shu.Shu;
import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.List;

public class Xinwen extends Fengzhuang {
    private TabLayout tabLayout;
    private ViewPager pager;
    private List<Tabean.ItemsBean> list = new ArrayList<>();
    private List<Fragment> fragments = new ArrayList<>();
    private String dataUul = "http://www.vipandroid.cn/week/news_xl.txt";
    private MyAdapter myAdapter;
    private ImageView img;


    @Override
    public void inData() {
        tabLayout = (TabLayout) findViewById(R.id.tab);
        pager = (ViewPager) findViewById(R.id.view);
        img = (ImageView) findViewById(R.id.img);
        toHttp();
//        img.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View view) {
//                Intent intent = new Intent(Xinwen.this, Pingdao.class);
//                startActivity(intent);
//
//            }
//        });

        myAdapter = new MyAdapter(getSupportFragmentManager());
        pager.setAdapter(myAdapter);
        tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
        tabLayout.setupWithViewPager(pager);
    }

    @Override
    public int getLayout() {
        return R.layout.xin;
    }

    private class MyAdapter extends FragmentPagerAdapter {
        public MyAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            Fragment fragment = fragments.get(position);
            Bundle bundle = new Bundle();
            bundle.putString("key", list.get(position).getId());
            fragment.setArguments(bundle);
            return fragments.get(position);
        }

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

        @Override
        public CharSequence getPageTitle(int position) {
            return list.get(position).getName();
        }
    }

    private void toHttp() {
        new Heplertba().get(dataUul).result(new Heplertba.HttpListener() {


            @Override
            public void success(String data) {
                Tabean bean = new Gson().fromJson(data, Tabean.class);
                list = bean.getItems();
                for (int a = 0; a < list.size(); a++) {
                    fragments.add(new DialogFramnet());
                }
                myAdapter.notifyDataSetChanged();
            }
        });
    }
}

================================DialogFramnet

package com.bwie.moni2.xinwen;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.bwie.moni2.R;
import com.example.xlistviewlib.XListView;
import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.List;

public class DialogFramnet extends Fragment {
    private XListView listView;
    private NewsAdatper newsAdatper;
    private String key;
    private  int page=1;
    private List<News.ResultBean.DataBean> list = new ArrayList<>();
    private List<News.ResultBean.DataBean> listAll = new ArrayList<>();
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.framnet, null, false);
        listView = (XListView) view.findViewById(R.id.view);

        Bundle bundle=getArguments();
         key=bundle.getString("key");

        doHttp(page);

        newsAdatper = new NewsAdatper(getActivity());
        listView.setAdapter(newsAdatper);

        listView.setPullRefreshEnable(true);
        listView.setPullLoadEnable(true);
        listView.setXListViewListener(new XListView.IXListViewListener() {
            @Override
            public void onRefresh() {
                listAll.clear();
                //下拉刷新
                page=1;
                doHttp(page);
                listView.stopRefresh();
            }


            @Override
            public void onLoadMore() {
                //上拉加载
                page++;
                doHttp(page);
                listView.stopLoadMore();
            }
        });
        return view;
    }

    private void doHttp(int page) {
        String dataUul = "https://feed.mix.sina.com.cn/api/roll/get?pageid=153&lid="+key+"&k=&num=20&page="+page;
        new Hepler().get(dataUul).result(new Hepler.HttpListener() {
            @Override
            public void success(String data) {
                News bean = new Gson().fromJson(data, News.class);
                 list = bean.getResult().getData();
                 listAll.addAll(list);
                 newsAdatper.setList(listAll);
            }
        });
    }
}

猜你喜欢

转载自blog.csdn.net/qq_43131935/article/details/82799032