RecyclerView

RecyclerView依赖:  

   compile 'com.android.support:recyclerview-v7:25.0.1'   

   compile 'com.squareup.okhttp3:okhttp:3.8.1'

   compile 'com.google.code.gson:gson:2.8.1' 

单利类OkHttpUtilsGENT请求:

package com.example.lenovo.rollviewpagetdemo;

import android.app.DownloadManager;

import okhttp3.Call;

import okhttp3.Callback;

import okhttp3.OkHttpClient;

import okhttp3.Request;

/**

* Created by Lenovo on 2017/8/11.

*/

public class OkHttpUtils {

private static OkHttpUtils utils;

private OkHttpClient client;

private OkHttpUtils(){

client = new OkHttpClient.Builder().build();

}

public static synchronized OkHttpUtils getInstance(){

if (utils == null)

utils = new OkHttpUtils();

return utils;

}

public void sendGet(String url , Callback callback){

Request request = new Request.Builder().url(url).build();

Call call = client.newCall(request);

call.enqueue(callback);

}

}

main方法:

private void initAdapter() {

GridLayoutManager manager = new GridLayoutManager(this, 1);

mrecylerView.setLayoutManager(manager);

adapter = new MyAdapter(MainActivity.this, sss);

mrecylerView.setAdapter(adapter);

}

private void initData() {

OkHttpUtils.getInstance().sendGet("http://172.16.39.36:8080/db.json", new Callback() {

@Override

public void onFailure(Call call, IOException e) {

Log.e("TAG", e.toString());

}

@Override

public void onResponse(Call call, Response response) throws IOException {

string = response.body().string();

Gson gson = new Gson();

Bean bean = gson.fromJson(string, Bean.class);

data = bean.getData();

sss.addAll(data);

runOnUiThread(new Runnable() {

@Override

public void run() {

adapter.notifyDataSetChanged();

}

});

}

});

}

RecyclerView的Adapter

package com.example.lenovo.rollviewpagetdemo;

import android.content.Context;

import android.support.v7.widget.RecyclerView;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.TextView;

import java.util.List;

public class MyAdapter extends RecyclerView.Adapter{

private Context context;

private List Listdata;

public MyAdapter(Context context, Listdata) {

this.context = context;

this.data = data;

}

@Override

public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

View inflate = LayoutInflater.from(context).inflate(R.layout.item, parent, false);

ViewHolder viewHolder = new ViewHolder(inflate);

return viewHolder;

}

@Override

public void onBindViewHolder(ViewHolder holder, int position) {

ViewHolder vh =holder;

vh.mname.setText(data.get(position).getName());

vh.mage.setText(data.get(position).getAge()+"");

vh.mgender.setText(data.get(position).getGender());

}

@Override

public int getItemCount() {

return data.size();

}

public static class ViewHolder extends RecyclerView.ViewHolder {

public View rootView;

public TextView mname;

public TextView mage;

public TextView mgender;

public ViewHolder(View rootView) {

super(rootView);

this.rootView = rootView;

this.mname = (TextView) rootView.findViewById(R.id.mname);

this.mage = (TextView) rootView.findViewById(R.id.mage);

this.mgender = (TextView) rootView.findViewById(R.id.mgender);

}

}

}

你可能感兴趣的:(RecyclerView)