列表展示

public class tab1 extends Fragment{

    private ViewPager vp1;
    private ArrayList<ImageView> list=new ArrayList<>();
    private String path="http://www.xieast.com/api/news/news.php?page=";
    private int num=1;
    List<Shop.DataBean> list2=new ArrayList<>();
    private String url=path+num;
    private Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what==0){
                String josn = (String) msg.obj;
                //Log.i("xxx",josn);
                Gson gson = new Gson();
                img img = gson.fromJson(josn, img.class);
                List<com.example.bean.img.DataBean> data = img.getData();
                for (int i = 0; i < data.size(); i++) {
                    String img1 = data.get(i).getImg();
                    ImageView imageView = new ImageView(getActivity());
                    DisplayImageOptions options = ImageLoaderUtils.getOptions();
                    ImageLoader.getInstance().displayImage(img1,imageView,options);
                    list.add(imageView);
                    //Log.i("xxx",list+"");
                }
                Myyadapter myyadapter = new Myyadapter(getActivity(),list);
                vp1.setAdapter(myyadapter);
            }else if (msg.what==1){
                int i = vp1.getCurrentItem();
                vp1.setCurrentItem(++i);
                handler.sendEmptyMessageDelayed(1,1000);
            }
        }
    };
    private PullToRefreshListView pull;
    private Myyyadapter myyyadapter;
    private ShopDao shopDao;
    private List<Shop.DataBean> data9;
    private View view;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
       if(view ==null){
           view = inflater.inflate(R.layout.tab1layout, container, false);
           vp1 = view.findViewById(R.id.vp1);
           pull = view.findViewById(R.id.pull);
       }
        return view;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        getfromlb();
        getListl();
        pull.setMode(PullToRefreshBase.Mode.BOTH);
        pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                 num=1;
                 getListl();
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
                num+=1;
                getListl();
            }
        });
        myyyadapter = new Myyyadapter(getActivity(),list2);
        pull.setAdapter(myyyadapter);
        shopDao = new ShopDao(getActivity());
        List<ShopBean> cha = shopDao.cha(url);
        if (cha!=null&&cha.size()>0){
            for (int i=0;i<cha.size();i++){
                Shop shop = preajson(cha.get(i).getJson());
                data9 = shop.getData();
                list2.addAll(data9);
            }
        }
    }

    @Override
    public void onResume() {
        super.onResume();
        vp1.setCurrentItem(list.size()*10000);
        handler.sendEmptyMessageDelayed(1,1000);
    }

    @Override
    public void onPause() {
        super.onPause();
        handler.removeCallbacksAndMessages(null);
    }
    private Shop preajson(String json){
        Gson gson = new Gson();
        return gson.fromJson(json, Shop.class);
    }
    public void getfromlb() {
        new Thread(new Runnable() {
            @Override
            public void run() {
                String path="http://www.xieast.com/api/banner.php";
                try {
                    URL url = new URL(path);
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    connection.setConnectTimeout(5000);
                    connection.setReadTimeout(5000);
                    connection.setRequestMethod("GET");
                    if (connection.getResponseCode()==200){
                        InputStream inputStream = connection.getInputStream();
                        ByteArrayOutputStream bos = new ByteArrayOutputStream();
                        byte[] bytes = new byte[1024];
                        int len=0;
                        while ((len=inputStream.read(bytes))!=-1){
                            bos.write(bytes,0,len);
                        }
                        inputStream.close();
                        bos.close();
                        String json = bos.toString();
                        Message message = new Message();
                        message.what=0;
                        message.obj=json;
                        handler.sendMessage(message);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }

    public void getListl() {
        HttpUtils instance = HttpUtils.getInstance();
        instance.getdata(url);
        instance.setjsonlisten(new HttpUtils.getjsonlisten() {
            @Override
            public void datajson(String json) {
                shopDao.add(url,json);
                Shop shop = preajson(json);
                List<Shop.DataBean> data = shop.getData();
                if (num==1){
                    list2.clear();
                }
                list2.addAll(data);
                myyyadapter.notifyDataSetChanged();
                pull.onRefreshComplete();
            }
        });
    }
}

猜你喜欢

转载自blog.csdn.net/qq_42821177/article/details/81275383
今日推荐