牛骨文教育服务平台(让学习变的简单)
博文笔记

RecyclerView加载数据进行展示

创建时间:2017-10-15 投稿人: 浏览次数:902
package com.baway.admin.lianxi2;

import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import com.google.gson.Gson;
import com.squareup.picasso.Picasso;

import java.io.IOException;
import java.util.List;

import bean.Bean;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
import utils.OkHttp3Utils;

public class MainActivity extends AppCompatActivity {

    private String path="http://120.27.23.105/ad/getAd";
    private RecyclerView rv;
    private List<Bean.MiaoshaBean.ListBeanX> list;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取控件
        rv = (RecyclerView) findViewById(R.id.rv);
        //定义一个布局管理器
        GridLayoutManager gridView=new GridLayoutManager(MainActivity.this,2);
        //将布局管理器和RecyclerView进行关联
        rv.setLayoutManager(gridView);
        //定义一个请求数据的方法
        initData();
    }

    //请求数据的方法
    private void initData() {
        OkHttp3Utils ok=new OkHttp3Utils();
        ok.doGet(path, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                //判断数据是否请求成功
                if(response.isSuccessful()){
                    final String result=response.body().string();
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            System.out.println("=========="+result);
                            getJson(result);
                        }
                    });
                }
            }
        });
    }

    private void getJson(String result) {
        Gson gson=new Gson();
        Bean b=gson.fromJson(result,Bean.class);
        list = b.getMiaosha().getList();
        MyAdapter adapter=new MyAdapter(list,this);
        rv.setAdapter(adapter);
    }

    class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>{
        private List<Bean.MiaoshaBean.ListBeanX> list;
        private Context context;

        public MyAdapter(List<Bean.MiaoshaBean.ListBeanX> list, Context context) {
            this.list = list;
            this.context = context;
        }

        @Override
        public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            View view=View.inflate(context,R.layout.item,null);
            MyViewHolder myViewHolder=new MyViewHolder(view);
            return myViewHolder;
        }

        @Override
        public void onBindViewHolder(MyViewHolder holder, int position) {
//            ImageLoaderConfiguration CF=ImageLoaderConfiguration.createDefault(MainActivity.this);
//            ImageLoader.getInstance().init(CF);
//            ImageLoader.getInstance().displayImage(list.get(position).getImages(),holder.img);

            String[] split = list.get(position).getImages().split("\|");
            Picasso.with(context).load(split[0]).into(holder.img);
        }

        @Override
        public int getItemCount() {
            return list.size();
        }

        public class MyViewHolder extends RecyclerView.ViewHolder{

            ImageView img;

            public MyViewHolder(View itemView) {
                super(itemView);
                img = itemView.findViewById(R.id.img);
            }
        }
    }

}

compile "com.squareup.picasso:picasso:2.5.2"
 
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。