BRVAH万能适配器
万能适配器
package com.bw.day8_brvah.adapter;
import android.content.Context;
import android.widget.ImageView;
import androidx.annotation.Nullable;
import com.bumptech.glide.Glide;
import com.bw.day8_brvah.R;
import com.bw.day8_brvah.entity.FoodEntity;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import java.util.List;
public class MyBAVCHAdapter extends BaseQuickAdapter<FoodEntity.DataDTO, BaseViewHolder> {
Context context;
List<FoodEntity.DataDTO> dataDTOList;
public MyBAVCHAdapter(int layoutResId, List<FoodEntity.DataDTO> data, Context context) {
super(layoutResId, data);
this.context = context;
this.dataDTOList=data;
}
@Override
protected void convert(BaseViewHolder baseViewHolder, FoodEntity.DataDTO dataDTO) {
baseViewHolder.setText(R.id.tv,dataDTO.getTitle());
ImageView imageView=baseViewHolder.findView(R.id.iv);
Glide.with(context).load(dataDTO.getPic())
.override(200,200)
.into(imageView);
}
}
activity
package com.bw.day8_brvah;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import android.widget.Toast;
import com.bw.day8_brvah.adapter.MyBAVCHAdapter;
import com.bw.day8_brvah.entity.FoodEntity;
import com.google.gson.Gson;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Response;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private RecyclerView rv;
List<FoodEntity.DataDTO> dataDTOList=new ArrayList<>();
MyBAVCHAdapter myBAVCHAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rv = (RecyclerView) findViewById(R.id.rv);
initdata();
myBAVCHAdapter = new MyBAVCHAdapter(R.layout.item,dataDTOList,this);
rv.setAdapter(myBAVCHAdapter);
rv.setLayoutManager(new LinearLayoutManager(this));
}
private void initdata() {
OkGo.<String>get("http://43.143.146.165:7777/foods/getFoods?currentPage=1&pageSize=10").execute(new StringCallback() {
@Override
public void onSuccess(Response<String> response) {
String body = response.body();
List<FoodEntity.DataDTO> data = new Gson().fromJson(body, FoodEntity.class).getData();
if(data==null&&data.size()==0){
Toast.makeText(MainActivity.this, "没有更多资源了", Toast.LENGTH_SHORT).show();
}else {
dataDTOList.addAll(data);
myBAVCHAdapter.notifyDataSetChanged();
}
}
});
}
}
多布局
package com.bw.day8_brvah.entity;
import com.chad.library.adapter.base.entity.MultiItemEntity;
import java.util.List;
public class FoodEntity {
private int errorCode;
private String errorMsg;
private List<DataDTO> data;
public int getErrorCode() {
return errorCode;
}
public void setErrorCode(int errorCode) {
this.errorCode = errorCode;
}
public String getErrorMsg() {
return errorMsg;
}
public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
}
public List<DataDTO> getData() {
return data;
}
public void setData(List<DataDTO> data) {
this.data = data;
}
public static class DataDTO implements MultiItemEntity {
private int id;
private int collect_num;
private String food_str;
private int num;
private String pic;
private String title;
private int type;
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getCollect_num() {
return collect_num;
}
public void setCollect_num(int collect_num) {
this.collect_num = collect_num;
}
public String getFood_str() {
return food_str;
}
public void setFood_str(String food_str) {
this.food_str = food_str;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getPic() {
return pic;
}
public void setPic(String pic) {
this.pic = pic;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
@Override
public int getItemType() {
return type;
}
}
}
package com.bw.day8_brvah.adapter;
import android.content.Context;
import com.bw.day8_brvah.entity.FoodEntity;
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import java.util.List;
public class MyBAVCHMutiAdapter extends BaseMultiItemQuickAdapter<FoodEntity.DataDTO, BaseViewHolder> {
Context context;
List<FoodEntity.DataDTO> list;
public MyBAVCHMutiAdapter(List<FoodEntity.DataDTO> data, Context context) {
super(data);
this.context = context;
this.list = data;
}
@Override
protected void convert(BaseViewHolder baseViewHolder, FoodEntity.DataDTO dataDTO) {
}
}