调用加主页面

主页面
package com.example.rkshijiu.yemian;

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.Toast;

import com.example.pulltolibrary.PullToRefreshBase;
import com.example.pulltolibrary.PullToRefreshListView;
import com.example.rkshijiu.Bean;
import com.example.rkshijiu.Madapter;
import com.example.rkshijiu.Nutile;
import com.example.rkshijiu.R;
import com.example.rkshijiu.shujuku.Dao;
import com.google.gson.Gson;
import com.recker.flybanner.FlyBanner;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class HomeFragment extends Fragment {

 private int num=1;
 private Bean bean;
 private PullToRefreshListView lv;
 private List<Bean.ResultBean> list = new ArrayList<>();
 private Madapter madapter;
 private Dao dao;
private String url;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle
        savedInstanceState) {
    View view=inflater.inflate(R.layout.hone,container,false);
    lv=view.findViewById(R.id.lv);
   
    url=getArguments().getString("url");

    lv.setMode(PullToRefreshListView.Mode.BOTH);
    dao=new Dao(getActivity());
    madapter = new Madapter(getActivity(), list);
    lv.setAdapter(madapter);


    initdate();
    //异步请求
    indata(1);
    

    return view;
}


//监听事件
private void initdate() {
     lv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
         @Override
         public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
               num=1;
               list.clear();
               indata(1);
         }

         @Override
         public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
               num++;
               indata(num);
         }
     });
}


private void indata( int num) {
    if (Nutile.has(getActivity())==false){
        Toast.makeText(getActivity(),"联网失败",Toast.LENGTH_SHORT).show();
        list.addAll(dao.select());
        madapter.notifyDataSetChanged();
    }else if (Nutile.has(getActivity())==true){
        new AsyncTask<String,Void, List<Bean.ResultBean>>() {
            @Override
            protected List<Bean.ResultBean> doInBackground(String... strings) {
                try {
                    URL url = new URL(strings[0]);
                    HttpURLConnection httpURLConnection=(HttpURLConnection)url.openConnection();
                    httpURLConnection.setRequestMethod("GET");
                    httpURLConnection.setConnectTimeout(5000);
                    httpURLConnection.setReadTimeout(5000);
                    int responseCode = httpURLConnection.getResponseCode();
                    if (responseCode==200){
                        String s = s2(httpURLConnection.getInputStream());
                        Gson gson = new Gson();
                        bean = gson.fromJson(s, Bean.class);

                        for (int i=0;i<bean.getResult().size();i++){
                            dao.add(bean.getResult().get(i).getName(),bean.getResult().
                                    get(i).getImageUrl(),bean.getResult().get(i).getId());
                        }

                        return dao.select();
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }

            @Override
            protected void onPostExecute(List<Bean.ResultBean> resultBeans) {
                super.onPostExecute(resultBeans);
                list.addAll(resultBeans);
                madapter.notifyDataSetChanged();
                lv.onRefreshComplete();
            }
        }.execute(url+num);
    }

}

private String s2(InputStream inputStream) {
    StringBuilder stringBuilder = new StringBuilder();
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));

    try {
        for (String temp = bufferedReader.readLine(); temp != null; temp = bufferedReader.readLine()) {
            stringBuilder.append(temp);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    return stringBuilder.toString();

}

}

VpAdapter页面
package com.example.rkshijiu;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import com.example.rkshijiu.yemian.HomeFragment;

public class VpAdapter extends FragmentPagerAdapter {

private String[] names=new String[]{
        "关注","综艺"
};

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


public  String patUrl="";
@Override
public Fragment getItem(int i) {
     switch (i){
         case 0:
               patUrl="http://172.17.8.100/movieApi/movie/v1/findHotMovieList?count=10&page=";
              default:
               patUrl="http://172.17.8.100/movieApi/movie/v1/findReleaseMovieList?count=10&page=";

     }
    Bundle bundle = new Bundle();
    bundle.putString("url",patUrl);
    HomeFragment homeFragment=new HomeFragment();
    homeFragment.setArguments(bundle);
    return homeFragment;
}

@Override
public int getCount() {
    return names.length;
}

@Nullable
@Override
public CharSequence getPageTitle(int position) {
    return names[position];
}

}

猜你喜欢

转载自blog.csdn.net/weixin_43250402/article/details/85106640