解析数据+上拉加载下拉刷新

package com.example.zhoukao3;

import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.ListView;

import com.bumptech.glide.Glide;
import com.example.zhoukao3.Adapter.ListAdapter;
import com.example.zhoukao3.base.BaseActivity;
import com.example.zhoukao3.bean.Json1;
import com.example.zhoukao3.bean.Result;
import com.example.zhoukao3.http.HttpUtils;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.youth.banner.Banner;
import com.youth.banner.loader.ImageLoader;

import java.util.List;
别忘记需要删除继承
public class MainActivity extends BaseActivity {


    private Banner banner;
    private GridView gridView;
    private PullToRefreshListView listView;
    private String strurl="https://api.apiopen.top/musicRankings?tdsourcetag=s_pcqq_aiomsg";
    private List<Result> result;
    private ListAdapter adapter;

    @Override
    public int bindLayout() {
	//写布局
        return R.layout.activity_main;
    }

    @Override
    protected void initView() {
        banner = bindView(R.id.banner);
        gridView = bindView(R.id.gridview);
        listView = bindView(R.id.listview);
        listView.setMode(PullToRefreshBase.Mode.BOTH);
        listView.setPullToRefreshOverScrollEnabled(true);
        listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                listView.onRefreshComplete();
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
                listView.onRefreshComplete();
            }
        });
    }

    @Override
    protected void initData() {
        //轮播图
        HttpUtils.httpAsynTask(strurl, new HttpUtils.CallBackString() {
            @Override
            public void getData(String s) {
                Gson gson=new Gson();
                Json1 json1 = gson.fromJson(s, Json1.class);
                List<Result> result = json1.getResult();
                banner.setImages(result);
                banner.setImageLoader(new ImageLoader() {
                    @Override
                    public void displayImage(Context context, Object path, ImageView imageView) {
                        Result result= (Result) path;
                        Glide.with(context).load(result.getPic_s192()).into(imageView);
                    }
                });
                //是否轮播
                banner.isAutoPlay(true);
                //设置时间
                banner.setDelayTime(3000);
                //开始轮播
                banner.start();
            }
        });
        //类表
        HttpUtils.httpAsynTask(strurl, new HttpUtils.CallBackString() {
            @Override
            public void getData(String s) {
                Gson gson=new Gson();
                Json1 json1 = gson.fromJson(s, Json1.class);
                result = json1.getResult();
                adapter = new ListAdapter(MainActivity.this, result);
                listView.setAdapter(adapter);
                gridView.setAdapter(adapter);

            }
        });
    }

    @Override
    protected void bindEvent() {
        //上拉加载下拉刷新
        listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                HttpUtils.httpAsynTask(strurl, new HttpUtils.CallBackString() {
                    @Override
                    public void getData(String s) {
                        Gson gson=new Gson();
                        Json1 json1 = gson.fromJson(s, Json1.class);
                        List<Result> result = json1.getResult();
                        ListAdapter adapter=new ListAdapter(MainActivity.this,result);
                        listView.setAdapter(adapter);
                        listView.onRefreshComplete();
                    }
                });
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
                HttpUtils.httpAsynTask(strurl, new HttpUtils.CallBackString() {
                    @Override
                    public void getData(String s) {
                        Gson gson=new Gson();
                        Json1 json1 = gson.fromJson(s, Json1.class);
                        List<Result> al = json1.getResult();
                        result.addAll(al);
                        ListAdapter adapter=new ListAdapter(MainActivity.this,result);
                        adapter.notifyDataSetChanged();
                        listView.onRefreshComplete();
                    }
                });
            }
        });
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值