导依赖
compile 'com.squareup.okhttp3:okhttp:3.8.1'
创建单例类
public class okhttp {
private static okhttp okhttp;
private OkHttpClient okHttpClient;
private okhttp(){
okHttpClient = new OkHttpClient.Builder().build();
}
public static synchronized okhttp getInstance(){
if (okhttp ==null) {
okhttp = new okhttp();
}
return okhttp;
}
public void sendGet(String url, Callback callback){
Request build = new Request.Builder().url(url).build();
Call call = okHttpClient.newCall(build);
call.enqueue(callback);
}
}
Activity
public class MainActivity extends AppCompatActivity {
private RecyclerView rlv_rec;
private List<bean.ResultBean.DatalistBean> list;
private List<String> pagerlist;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initokhttp();
}
private void initokhttp() {
okhttp.getInstance().sendGet("http:/", new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
final String string = response.body().string();
runOnUiThread(new Runnable() {
private com.jiyun.defaultuser0.demo_95.bean bean;
@Override
public void run() {
Log.e("TAG", string);
Gson gson = new Gson();
bean = gson.fromJson(string, bean.class);
list = bean.getResult().getDatalist();
pagerlist = bean.getResult().getPagerlist();
StaggeredGridLayoutManager manager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
rlv_rec.setLayoutManager(manager);
RecylerviewAdapter adapter = new RecylerviewAdapter(MainActivity.this, list);
rlv_rec.setAdapter(adapter);
RecyclerViewHeader viewHeader = RecyclerViewHeader.fromXml(MainActivity.this, R.layout.buju1);
FlyBanner fb_fll = viewHeader.findViewById(R.id.fb_fll);
fb_fll.setImagesUrl(bean.getResult().getPagerlist());
viewHeader.attachTo(rlv_rec);
}
});
}
});
}
private void initView() {
rlv_rec = (RecyclerView) findViewById(R.id.rlv_rec);
}
}
Recylerview适配器
public class RecylerviewAdapter extends RecyclerView.Adapter<RecylerviewAdapter.ViewHolder> {
private List<bean.ResultBean.DatalistBean> list;
private MainActivity mainActivity;
public RecylerviewAdapter(MainActivity mainActivity, List<bean.ResultBean.DatalistBean> list) {
this.list=list;
this.mainActivity=mainActivity;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.buju, parent, false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Glide.with(mainActivity).load(list.get(position).getImageurl()).into(holder.iv_img);
holder.tv_text.setText(list.get(position).getName());
}
@Override
public int getItemCount() {
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
ImageView iv_img;
TextView tv_text;
public ViewHolder(View itemView) {
super(itemView);
iv_img = itemView.findViewById(R.id.iv_imgg);
tv_text = itemView.findViewById(R.id.tv_text);
}
}
}