tablayout主布局

Img布局

public class Imgtion  extends Application{
    @Override
    public void onCreate() {
        DisplayImageOptions options =  new DisplayImageOptions.Builder()
        .showImageOnLoading(R.drawable.a)
                .showImageOnFail(R.drawable.b)
                .showImageForEmptyUri(R.drawable.s)
                .displayer(new FadeInBitmapDisplayer(2000))
                .cacheOnDisk(true)
                .cacheInMemory(true)
                .build();
        ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this)
                .defaultDisplayImageOptions(options)
                .threadPoolSize(5).build();
        ImageLoader.getInstance().init(configuration);
        super.onCreate();
    }
}
NewsFragment页面

public class NewsFragment  extends Fragment{

    private int count=10;
    PullToRefreshLayout pull;
    private ListView lv;
    private String jsonString="";
    private Massd massd;
    private List<Newslist> datas = new ArrayList<Newslist>();
 //handle机制
    private Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            Massd massd = new Massd();
            lv.setAdapter(massd);

        }
    };
  private  String string;

    @Nullable
    @Override
    //页面加载视图
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
      View view= inflater.inflate(R.layout.news_layout,container,false);
     pull  = (PullToRefreshLayout) view.findViewById(R.id.pull);
        lv  = (ListView) view.findViewById(R.id.list_view);
        pull.setRefreshListener(new BaseRefreshListener() {
            @Override
            public void refresh() {
                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        count++;
                        String path = "http://api.tianapi.com/" + string + "/?key=4146a52d31ee75bedb005c5b50d9c249&num="+count;
                        getDataFromNet(string);
                        pull.finishRefresh();
                    }
                },2000);
            }
        //上拉
            @Override
            public void loadMore() {
                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        count++;
                        String path = "http://api.tianapi.com/" + string + "/?key=4146a52d31ee75bedb005c5b50d9c249&num="+count;
                        getDataFromNet(string);
                        pull.finishLoadMore();
                    }
                },2000);

            }
        });
        return view;
    }
 //网络请求
    private void getDataFromNet(final String string) {
        new Thread(){
            @Override
            public void run() {
                String path = "http://api.tianapi.com/"+string+"/?key=4146a52d31ee75bedb005c5b50d9c249&num="+(count++);
                try {
                    URL url = new URL(path);
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    connection.setRequestMethod("GET");
                    connection.setReadTimeout(5000);
                    connection.setConnectTimeout(5000);
                    int responseCode = connection.getResponseCode();
                    if(responseCode==200){
                        InputStream inputStream = connection.getInputStream();
                        String json=getwangl(inputStream,"utf-8");
                        Gson gson = new Gson();
                        JsonRootBean jsonss = gson.fromJson(json, JsonRootBean.class);
                        datas=jsonss.getNewslist();
                        Message message = new Message();
                        Bundle bundle = new Bundle();
                        bundle.putString("s",datas.toString());
                        message.setData(bundle);
                        handler.sendMessage(message);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }.start();

    }
    //进行转码关闭流
    private String getwangl(InputStream inputStream, String s) {
        try {
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream, s);
            BufferedReader reader = new BufferedReader(inputStreamReader);
            StringBuilder builder = new StringBuilder();
            String cou;
            while ((cou=reader.readLine())!=null){
                builder.append(cou);
            }
            inputStream.close();
            reader.close();
            jsonString=builder.toString();
            return  builder.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;

    }
//创建主视图
    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        Bundle bundle = getArguments();
        string = bundle.getString("name", "top");
        getDataFromNet(string);
    }
//适配器
    class Massd extends BaseAdapter{
        final int tz=0;
        final int tx=1;
        @Override
        public int getCount() {
            return datas.size();
        }

        @Override
        public Object getItem(int i) {
            return null;
        }

        @Override
        public long getItemId(int i) {
            return 0;
        }

        @Override
        //listview多条目加载
        public View getView(int i, View view, ViewGroup viewGroup) {
            Asd asd = null;
            Asdd asdd = null;
            int type = getItemViewType(i);
            if (view==null){
                switch (type){
                    case tz:
                        asd = new Asd();
                        view = View.inflate(getActivity(), R.layout.item, null);
                        asd.img = (ImageView) view.findViewById(R.id.img);
                        asd.tv1 = (TextView) view.findViewById(R.id.tv1);
                        asd.tv2 = (TextView) view.findViewById(R.id.tv2);
                        view.setTag(asd);
                        break;
                    case tx:
                        asdd = new Asdd();
                        view = View.inflate(getActivity(), R.layout.item2, null);
                        asdd.img1 = (ImageView) view.findViewById(R.id.img1);
                        asdd.img2 = (ImageView) view.findViewById(R.id.img2);
                        asdd.img3 = (ImageView) view.findViewById(R.id.img3);
                        view.setTag(asdd);
                        break;
                }
            }switch (type){
                case tz:
                    asd = (Asd) view.getTag();
                    ImageLoader.getInstance().displayImage(datas.get(i).getPicUrl(), asd.img);
                    asd.tv1.setText(datas.get(i).getTitle());
                    asd.tv2.setText(datas.get(i).getCtime());
                    break;
                case tx:
                    asdd = (Asdd) view.getTag();
                    ImageLoader.getInstance().displayImage(datas.get(i).getPicUrl(), asdd.img1);
                    ImageLoader.getInstance().displayImage(datas.get(i).getPicUrl(), asdd.img2);
                    ImageLoader.getInstance().displayImage(datas.get(i).getPicUrl(), asdd.img3);
                    break;

                default:
                    break;
            }

            return view;
        }
    }
    //优化
    class Asdd{

        public ImageView img1;
        public ImageView img2;
        public ImageView img3;
    }
    class  Asd{
        public ImageView img;
        public TextView tv1;
        public TextView tv2;
    }
}
QiYuF页面

public class QiyuF extends Fragment implements AdapterView.OnItemClickListener{
    TabLayout tl;
    ViewPager vp;
  private     List<String> list;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.qiyuf, null);
        tl = (TabLayout) view.findViewById(R.id.tl);
        vp = (ViewPager) view.findViewById(R.id.vp);
        list = new ArrayList<>();
        list.add("苹果");
        list.add("军事");
        list.add("移动");
        list.add("旅游");
        list.add("创业");
        list.add("科技");
        list.add("足球");
        list.add("NBA");
        list.add("娱乐");
        vp.setAdapter(new FragmentPagerAdapter(getActivity().getSupportFragmentManager()) {
            @Override
            public CharSequence getPageTitle(int position) {

                return list.get(position);
            }
            @Override
            // apple military mobile travel startup keji football nba huabian
            public Fragment getItem(int position) {
                NewsFragment newsFragment = new NewsFragment();
                Bundle bundle = new Bundle();
                if (list.get(position).equals("苹果")){
                    bundle.putString("name","apple");
                }else if (list.get(position).equals("军事")){
                    bundle.putString("name","military");
                }else if (list.get(position).equals("移动")){
                    bundle.putString("name","mobile");
                }else if (list.get(position).equals("旅游")){
                    bundle.putString("name","travel");
                }else if (list.get(position).equals("创业")){
                    bundle.putString("name","startup");
                }else if (list.get(position).equals("科技")){
                    bundle.putString("name","keji");
                }else if (list.get(position).equals("足球")){
                    bundle.putString("name","football");
                }else if (list.get(position).equals("NBA")){
                    bundle.putString("name","nba");
                }else if (list.get(position).equals("娱乐")){
                    bundle.putString("name","huabian");
                }
                newsFragment.setArguments(bundle);
                return newsFragment;
            }

            @Override
            public int getCount() {
                return list.size();
            }
        });
        tl.setupWithViewPager(vp);
        return view;
    }

    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {


    }
}
ShouyeF页面

public class ShouyeF extends Fragment implements AdapterView.OnItemClickListener {
    //定义全局变量
    PullToRefreshLayout prl;
    ConvenientBanner cb;
    private int count=10;
    private List<String> as;
    private List<Newslist> datas = new ArrayList<Newslist>();
    private Handler handler = new Handler(){

//handle机制
        @Override
        public void handleMessage(Message msg) {
            Maasd maasd = new Maasd();
            gv.setAdapter(maasd);
            Mmasd mmasd = new Mmasd();
            lv.setAdapter(mmasd);
        }
    };
  //添加轮播的图片
    ImageLoader imageLoader;
    Arrays arrays;
     //定义数组
     String[] imgs = new String[]{
             "http://m.xxxiao.com/wp-content/uploads/sites/3/2015/04/m.xxxiao.com_952ef7f7e44e4bdaf7718d20c99d66ff4-760x500.jpg",
             "http://m.xxxiao.com/wp-content/uploads/sites/3/2015/07/m.xxxiao.com_d425b67b2744d9f62be091b2bb3c9d93-760x500.jpg",
             "http://m.xxxiao.com/wp-content/uploads/sites/3/2015/04/m.xxxiao.com_6bb61e3b7bce0931da574d19d1d82c886-760x500.jpg",
             "http://m.xxxiao.com/wp-content/uploads/sites/3/2015/06/m.xxxiao.com_b4524af8c20484f4638795ea1515db29-760x500.jpg",
     };

    //定义表格布局
    private ListView lv;
    private GridView gv;
    private String jsonString = "";

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.shouyef, null);
        cb = (ConvenientBanner) view.findViewById(R.id.cb);
        prl =(PullToRefreshLayout) view.findViewById(R.id.prl);
        gv = (GridView) view.findViewById(R.id.gv);
        lv = (ListView) view.findViewById(R.id.lv);
        prl.setRefreshListener(new BaseRefreshListener() {
            @Override
            public void refresh() {
                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        getdatawang();
                        prl.finishRefresh();
                    }
                },2000);
            }

            @Override
            public void loadMore() {
                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {

                        String path = "http://api.tianapi.com/it/?key=4146a52d31ee75bedb005c5b50d9c249&num=10";
                        getdatawang();
                        prl.finishLoadMore();
                    }
                },2000);
            }
        });
        getdatawang();
        imageLoader = ImageLoader.getInstance();
        imageLoader.init(ImageLoaderConfiguration.createDefault(getActivity()));
        as = Arrays.asList(imgs);
        cb.setPages(new CBViewHolderCreator() {
            @Override
            public Object createHolder() {
                return new Masd();
            }
        },as).setPointViewVisible(true)
                .startTurning(2000)
                .setPageIndicator(new int[]{R.drawable.ic_page_indicator,R.drawable.ic_page_indicator_focused})
                .setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.CENTER_HORIZONTAL)
                .setManualPageable(true);

        return view;

    }
    //得到初始化的值
    private void getdatawang() {
        new Thread(){


            @Override
            public void run() {
                //4146a52d31ee75bedb005c5b50d9c249
                String path = "http://api.tianapi.com/it/?key=4146a52d31ee75bedb005c5b50d9c249&num="+(count++);
                try {
                    URL url = new URL(path);
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    connection.setRequestMethod("GET");
                    connection.setReadTimeout(5000);
                    connection.setConnectTimeout(5000);
                    int responseCode = connection.getResponseCode();
                    if(responseCode==200){
                        InputStream inputStream = connection.getInputStream();
                        getjsonwang(inputStream,"utf-8");
                        Gson gson = new Gson();
                        JsonRootBean jsonss = gson.fromJson(jsonString, JsonRootBean.class);
                        datas=jsonss.getNewslist();
                        Message message = new Message();
                        Bundle bundle = new Bundle();
                        bundle.putString("s",datas.toString());
                        message.setData(bundle);
                        handler.sendMessage(message);
                    }

                } catch (Exception e) {
                    e.printStackTrace();
                }
            }


        }.start();

    }
   //关闭数据流
    private void getjsonwang(InputStream inputStream, String s) {
        try {
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream, s);
            BufferedReader reader = new BufferedReader(inputStreamReader);
            StringBuffer buffer = new StringBuffer();
            StringBuilder builder = new StringBuilder();
            String cou;
            while ((cou=reader.readLine())!=null){
                builder.append(cou);
            }
            inputStream.close();
            reader.close();
            jsonString =builder.toString();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {


    }
    //litem的优化
    class Mmasd extends BaseAdapter {

        @Override
        public int getCount() {
            return datas.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) {
            View vvv = View.inflate(getActivity(), R.layout.litem, null);
            ImageView img = (ImageView) vvv.findViewById(R.id.img);
            TextView tv = (TextView) vvv.findViewById(R.id.tv1);
            ImageLoader.getInstance().displayImage(datas.get(i).getPicUrl(),img);
            tv.setText(datas.get(i).getTitle());
            return vvv;
        }
    }
    //gitem的优化
    class Maasd extends BaseAdapter{

        @Override
        public int getCount() {
            return datas.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) {
            View vv = View.inflate(getActivity(), R.layout.gitem, null);
            ImageView img = (ImageView) vv.findViewById(R.id.img);
            TextView tv = (TextView) vv.findViewById(R.id.tv1);
            ImageLoader.getInstance().displayImage(datas.get(i).getPicUrl(),img);
            tv.setText(datas.get(i).getTitle());
            return vv;
        }
    }
    //holder机制的优化
    class Masd implements Holder<String> {

        private ImageView imageView;

        @Override
        public View createView(Context context) {
            imageView = new ImageView(context);
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);
            return imageView;
        }

        @Override
        public void UpdateUI(Context context, int position, String data) {
            ImageLoader.getInstance().displayImage(data,imageView);
        }
    }

}
Main页面

public class MainActivity extends AppCompatActivity {
    DrawerLayout dl;
    private FrameLayout fl;
    private TextView sy;
    private TextView qy;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        fl = (FrameLayout) findViewById(R.id.fl);
        sy = (TextView) findViewById(R.id.sy);
        qy = (TextView) findViewById(R.id.qy);


        FragmentManager manager = getSupportFragmentManager();
        FragmentTransaction transaction = manager.beginTransaction();
        transaction.replace(R.id.fl,new QiyuF());
        transaction.commit();
        sy.setTextColor(Color.RED);
        qy.setTextColor(Color.BLACK);
        sy.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View view) {
                FragmentManager manager = getSupportFragmentManager();
                FragmentTransaction transaction = manager.beginTransaction();
                transaction.replace(R.id.fl,new QiyuF());
                transaction.commit();
                sy.setTextColor(Color.RED);
                qy.setTextColor(Color.BLACK);
            }
        });
        qy.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View view) {
                FragmentManager manager = getSupportFragmentManager();
                FragmentTransaction transaction = manager.beginTransaction();
                transaction.replace(R.id.fl,new ShouyeF());
                transaction.commit();
                sy.setTextColor(Color.BLACK);
                qy.setTextColor(Color.RED);
            }
        });
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值