网络判断和轮播..



public class MainActivity extends AppCompatActivity {


    private XListView xlistview;
    private ViewPager viewpager;
    private List ddlist = new ArrayList<>();
    private int take = 1;
    private String url = "https://www.zhaoapi.cn/product/getCarts?uid=71&source=android";
    private List imgslist;
    @SuppressLint("HandlerLeak")
    private Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            int currentItem = viewpager.getCurrentItem();
            currentItem++;
            viewpager.setCurrentItem(currentItem);
            handler.sendEmptyMessageDelayed(0,2000);
        }
    };
    private MyXAdapter myXAdapter;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //1.加载视图
        setContentView(R.layout.activity_main);
        //2.初始化控件
        xlistview = findViewById(R.id.xlistview);
        viewpager = findViewById(R.id.vp);
        //存放图片的集合
        imgslist = new ArrayList<>();
        //存放图片的方法
        initDate();
        xlistview.setPullLoadEnable(true);
        xlistview.setPullRefreshEnable(true);
        xlistview.setXListViewListener(new XListView.IXListViewListener() {
            @Override
            public void onRefresh() {
                take=1;
                task();
                xlistview.stopRefresh();
            }


            @Override
            public void onLoadMore() {
               take=2;
                task();
                xlistview.stopLoadMore();
            }
        });


        //xlistview长按跳转
        xlistview.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView adapterView, View view, int i, long l) {
                Intent intent =  new Intent(MainActivity.this, Main2Activity.class);
                intent.putExtra("weburl","https://www.baidu.com/");
                startActivity(intent);
                return false;
            }
        });


        //3.进行判断网络的判断
        if (Netutiles.isConn(this)){
            MyPAdapter myPAdapter = new MyPAdapter(imgslist,MainActivity.this);
           viewpager.setAdapter(myPAdapter);
           //默认的显示页面
           viewpager.setCurrentItem(imgslist.size()*10);
           handler.sendEmptyMessageDelayed(0,1000);
           task();


        }else {
            Netutiles.showNotnet(this);
        }
    }


    private void task() {
        MyTask myTask = new MyTask(new MyTask.Icallback() {
            @Override
            public void gettoJson(String json) {
                Gson gson = new Gson();
                Reults reults = gson.fromJson(json, Reults.class);
                List data = reults.getData();


                if (take==1){
                    ddlist.clear();
                }
                ddlist.addAll(data);
                adapter(data);
            }
        });
        myTask.execute(url);
    }


    private void adapter(List data) {
        if (myXAdapter==null){
            myXAdapter = new MyXAdapter(ddlist,MainActivity.this);
            xlistview.setAdapter(myXAdapter);
        }else {
            myXAdapter.notifyDataSetChanged();
        }


    }


    //图片的链接集合
    private void initDate() {
        imgslist.add("http://pic1.win4000.com/wallpaper/8/57872fdf73504.jpg");
        imgslist.add("http://pic.92to.com/anv/201606/08/ycjpmtzhib2.jpg");
        imgslist.add("http://pic.92to.com/anv/201606/08/blzuzlal2ri.jpg");
    }
}

你可能感兴趣的:(网络判断和轮播..)