recycleview+okhttp请求数据

依赖:
compile 'com.google.code.gson:gson:2.8.1'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.android.support:recyclerview-v7:21.0.0'
compile 'com.squareup.okhttp:okhttp:2.4.0'

MyAdapter:

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>{

    private List<MyBean.DataBean.WallpaperListInfoBean> list = new ArrayList<>();
    private Context context;

    public MyAdapter(List<MyBean.DataBean.WallpaperListInfoBean> list, Context context) {
        this.list = list;
        this.context = context;
    }

    @Override
    public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.item,parent,false);
        return new MyAdapter.ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(MyAdapter.ViewHolder holder, int position) {
        holder.tv.setText(list.get(position).UserName);
        Glide.with(context).load(list.get(position).WallPaperMiddle).into(holder.iv);
    }

    @Override
    public int getItemCount() {
        return list == null ? 0 : list.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder {

        private  TextView tv;
        private  ImageView iv;

        public ViewHolder(View itemView) {
            super(itemView);

            iv = (ImageView) itemView.findViewById(R.id.item_iv);
            tv = (TextView) itemView.findViewById(R.id.item_tv);
        }
    }
}

 MainActivity.java
private RecyclerView recyclerView;
private List<MyBean.DataBean.WallpaperListInfoBean> list;
private Handler handler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    recyclerView = (RecyclerView) findViewById(R.id.recycler);
    inData();

  //瀑布流显示图片
 StaggeredGridLayoutManager manger = new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
    recyclerView.setLayoutManager(manger);
}

private void inData() {
    OkHttpClient client = new OkHttpClient();
    Request request = new Request.Builder().url("http://bz.budejie.com/?typeid=2&ver=3.4.3&no_cry=1&client=android&c=wallPaper&a=random&bigid=0").build();
    Call call = client.newCall(request);
    call.enqueue(new Callback() {

        @Override
        public void onFailure(Request request, IOException e) {

        }

        @Override
        public void onResponse(Response response) throws IOException {
            if(response.body() != null && response.isSuccessful()){
               String result =  response.body().string();
                MyBean bean = MyBean.objectFromData(result);
                list = bean.data.WallpaperListInfo;
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                    recyclerView.setAdapter(new MyAdapter(list,MainActivity.this));
                    }
                });
            }
        }
    });
}
recycleview另外两种显示方式:
// LinearLayoutManager manager = new LinearLayoutManager(this);
//GridLayoutManager glide = new GridLayoutManager(this, 3);




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值