public class MainActivity extends AppCompatActivity {
    private PullToRefreshScrollView scrollView;
    private ViewPager viewPager;
    private ListView listView;
    private List imageViews = new ArrayList<>();
    private List points = new ArrayList<>();
    private List bookList=new ArrayList<>();
    private  static  int page = 0;
    private MyAdapter myAdapter;
    private MyHandler myHandler=new MyHandler();
    private LinearLayout ll;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initViews();
        //请求网络
        getAdData();
        myAdapter = new MyAdapter(MainActivity.this, bookList);
        listView.setAdapter(myAdapter);
    }


    private void getAdData() {
        HttpUtils httpUtils = HttpUtils.getHttpUtils();
        httpUtils.get(HttpConifg.ad_url);
        httpUtils.setHttpListener(new HttpUtils.HttpListener() {


            private AdAdapter adAdapter;


            @Override
            public void getSuccess(String json) {
                Gson gson = new Gson();
                AdBean adBean = gson.fromJson(json, AdBean.class);
                //轮播图数据
                List list = adBean.getData();
                //循环,加载图片---viewpager
                for (int i = 0; i < list.size(); i++) {
                    ImageView imageView = new ImageView(MainActivity.this);
                    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                    String icon = list.get(i).getIcon();
                    //
                    ImageLoader.getInstance().displayImage(icon, imageView, MyApp.getOptions());


                    imageViews.add(imageView);
                    //添加小圆点
                    ImageView point = new ImageView(MainActivity.this);
                    point.setImageResource(R.drawable.my_selector);


                    points.add(point);


                    ll.addView(point);
                }
                //默认第一个选中
                points.get(0).setSelected(true);
                //适配器
                adAdapter = new AdAdapter(imageViews);


                viewPager.setAdapter(adAdapter);
                //发送消息,开始轮播
                myHandler.sendEmptyMessageDelayed(0,2000);
                //请求书籍列表
                getBookList();
            }
        });
    }


    private void initViews() {
        ll = findViewById(R.id.ll);
        scrollView = findViewById(R.id.pull_to_refresh_scrollview);
        viewPager = findViewById(R.id.viewpager);
        listView = findViewById(R.id.listview);
        //


        scrollView.setMode(PullToRefreshBase.Mode.BOTH);
        scrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase refreshView) {
                page=1;
                getBookList();
            }


            @Override
            public void onPullUpToRefresh(PullToRefreshBase refreshView) {
                page++;
                getBookList();
            }
        });
    }


    public void getBookList() {
        HttpUtils httpUtils = HttpUtils.getHttpUtils();
        httpUtils.get(HttpConifg.books_url+"?page="+page);
        httpUtils.setHttpListener(new HttpUtils.HttpListener() {


            @Override
            public void getSuccess(String json) {
                Gson gson = new Gson();
                BookBean bookBean = gson.fromJson(json, BookBean.class);
                List bookList1 = bookBean.getData();




                if (page==1){
                    bookList.clear();
                }


                bookList.addAll(bookList1);


                myAdapter.notifyDataSetChanged();


                scrollView.onRefreshComplete();
            }
        });
    }
    //使用Handler进行轮播
    class MyHandler extends Handler{
        @Override
        public void handleMessage(Message msg) {
            viewPager.setCurrentItem(viewPager.getCurrentItem()+1);
            //切换小圆点
            for (int i = 0; i < points.size(); i++) {
                int j = viewPager.getCurrentItem();
                j= j%points.size();
                if (i==j){
                    points.get(i).setSelected(true);
                }else {
                    points.get(i).setSelected(false);
                }


            }
            myHandler.sendEmptyMessageDelayed(0,2000);
        }
    }


    @Override
    protected void onDestroy() {
        super.onDestroy();
        myHandler.removeCallbacksAndMessages(null);
    }
}

更多相关文章

  1. RadioGroup&RadioButton小技巧
  2. 猜红心小游戏
  3. Android(安卓)Studio 蓝牙配对
  4. 自定义数据适配器
  5. Android(安卓)仿京东分类页面
  6. listview check
  7. android修改默认桌面
  8. 简单适配器加载列表
  9. Android(安卓)淘宝购物车细节详情

随机推荐

  1. 学习linux几本不错的书
  2. linux设置时间和把时间从UTC转成本地时间
  3. mysqk 5.7官方安装指导,比一般有效
  4. Linux&C网络编程————“聊天室”
  5. Linux内核构建系统之一
  6. Linux 下部署Django项目
  7. 如何使用ffmpeg将m4v和wmv视频转换为mp4
  8. Userspace RCU 安装过程记录
  9. linux c 网络编程, 常用网络函数,范例
  10. Linux 多线程 ”一写多读” 模式下的无锁