获取接口中是图片放在viewpager里

package com.example.li.com.wuxirui.fragment;


import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.li.com.wuxirui.HttpUtil.Httputil;
import com.example.li.com.wuxirui.R;
import com.example.li.com.wuxirui.adapter.ImageAdapter;
import com.example.li.com.wuxirui.bean.ImagaBean;
import com.google.gson.Gson;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;

/**
 * A simple {@link Fragment} subclass.
 */
public class aFragment extends Fragment {

    private ViewPager mViewPager;
    private ImageAdapter imageAdapter;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View inflate = View.inflate(getActivity(), R.layout.fragment_a, null);
        mViewPager = inflate.findViewById(R.id.viewpagers);
        new Thread(
                new Runnable() {
                    @Override
                    public void run() {
                        initdate();
                    }
                }
        ).start();
        imageAdapter = new ImageAdapter(getActivity());
        mViewPager.setAdapter(imageAdapter);
        //
        //mViewPager.setCurrentItem(1000);
        handler.sendEmptyMessageDelayed(1, 3000);
        return inflate;
    }
Handler handler = new Handler(){
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        //更新adapter数据
        switch (msg.what){
            case 0:
                imageAdapter.stdate((List<ImagaBean.DataBean>) msg.obj);
                mViewPager.setCurrentItem(5000);
                break;
            case 1:
                int i = mViewPager.getCurrentItem();
                mViewPager.setCurrentItem(i+1);
                handler.sendEmptyMessageDelayed(1,3000);
                break;
        }
        //主动拜访




    }
};

    private void initdate() {
        String geturl = Httputil.geturl("http://www.xieast.com/api/banner.php");
        ImagaBean imagaBean = new Gson().fromJson(geturl, ImagaBean.class);
        handler.sendMessage(handler.obtainMessage(0,imagaBean));
    }

}

adapter

package com.example.li.com.wuxirui.adapter;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import com.example.li.com.wuxirui.ImageSet;
import com.example.li.com.wuxirui.bean.ImagaBean;
import com.nostra13.universalimageloader.core.ImageLoader;

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

public class ImageAdapter extends PagerAdapter {
    private final Context context;
    private List<ImagaBean.DataBean> list;

    public ImageAdapter (Context context){
        this.context = context;
        list = new ArrayList<>();
    }

    public void stdate(List<ImagaBean.DataBean> list){
        this.list.clear();
        this.list.addAll(list);
        notifyDataSetChanged();
    }
    @Override
    public int getCount() {
        if (list.size() == 0){
            return  0;
        }else {
            return Integer.MAX_VALUE;
        }
    }

    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
        return view == o;
    }

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        ///

        ImageView imageView = new ImageView(context);
        ImageLoader.getInstance().displayImage(list.get(position%list.size()).getImg(),imageView,ImageSet.displayImageOptions());
        container.addView(imageView);
        return imageView;

    }

    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        container.removeView((View) object);
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_41722852/article/details/83214272
今日推荐