recycleview+okhttp请求数据

来源:互联网 发布:免费淘宝账号和密码 编辑:程序博客网 时间:2024/06/06 00:04
依赖:
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();@Overrideprotected 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);




原创粉丝点击