package com.bw.zhuangao2_8;
import java.util.List;
public class BanBan {
private List<DataDTO> data;
private int errorCode;
private String errorMsg;
public List<DataDTO> getData() {
return data;
}
public void setData(List<DataDTO> data) {
this.data = 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 static class DataDTO {
private String desc;
private int id;
private String imagePath;
private int isVisible;
private int order;
private String title;
private int type;
private String url;
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getImagePath() {
return imagePath;
}
public void setImagePath(String imagePath) {
this.imagePath = imagePath;
}
public int getIsVisible() {
return isVisible;
}
public void setIsVisible(int isVisible) {
this.isVisible = isVisible;
}
public int getOrder() {
return order;
}
public void setOrder(int order) {
this.order = order;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
}
package com.bw.zhuangao2_8;
import java.util.List;
public class FoodBan {
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 {
private int id;
private int collect_num;
private String food_str;
private int num;
private String pic;
private String title;
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;
}
}
}
package com.bw.zhuangao2_8;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.listener.OnItemChildClickListener;
import com.chad.library.adapter.base.listener.OnItemClickListener;
import com.google.gson.Gson;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Response;
import com.youth.banner.Banner;
import com.youth.banner.loader.ImageLoader;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private RecyclerView rec;
private List<FoodBan.DataDTO>dataDTOList=new ArrayList<>();
private MyBaseQadapter myBaseQadapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
rec = (RecyclerView) findViewById(R.id.rec);
//准备数据源
initdata();
//定义适配器
myBaseQadapter=new MyBaseQadapter(R.layout.item,dataDTOList,this);
//设置适配器
rec.setAdapter(myBaseQadapter);
//线性布局
// rec.setLayoutManager(new LinearLayoutManager(this));
//网格布局
// GridLayoutManager gridLayoutManager=new GridLayoutManager(this,2);
// rec.setLayoutManager(gridLayoutManager);
//瀑布流
StaggeredGridLayoutManager staggeredGridLayoutManager=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
rec.setLayoutManager(staggeredGridLayoutManager);
//分割线
DividerItemDecoration dividerItemDecoration=new DividerItemDecoration(this,DividerItemDecoration.VERTICAL);
dividerItemDecoration.setDrawable(getDrawable(R.drawable.shapes));
rec.addItemDecoration(dividerItemDecoration);
DefaultItemAnimator defaultItemAnimator=new DefaultItemAnimator();
defaultItemAnimator.setRemoveDuration(2000);
defaultItemAnimator.setAddDuration(2000);
defaultItemAnimator.setAddDuration(2000);
rec.setItemAnimator(defaultItemAnimator);//动态
myBaseQadapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
dataDTOList.remove(position);
myBaseQadapter.notifyItemChanged(position);
}
});
final ItemTouchHelper itemTouchHelper=new ItemTouchHelper(new ItemTouchHelper.Callback() {
@Override
public int getMovementFlags(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder) {
int x=ItemTouchHelper.LEFT|ItemTouchHelper.RIGHT;
return makeMovementFlags(0,x);
}
@Override
public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target) {
return true;
}
@Override
public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
int Postison=viewHolder.getPosition();
dataDTOList.remove(Postison);
myBaseQadapter.notifyItemRemoved(Postison);
}
});
itemTouchHelper.attachToRecyclerView(rec);
myBaseQadapter.addChildClickViewIds(R.id.im1);
myBaseQadapter.addChildClickViewIds(R.id.text);
myBaseQadapter.setOnItemChildClickListener(new OnItemChildClickListener() {
@Override
public void onItemChildClick(@NonNull BaseQuickAdapter adapter, @NonNull View view, int position) {
int id=view.getId();
switch (id){
case R.id.im1:
Toast.makeText(MainActivity.this, "你点击图片", Toast.LENGTH_SHORT).show();
break;
case R.id.text:
Toast.makeText(MainActivity.this, "你点击了文字", Toast.LENGTH_SHORT).show();
break;
}
}
});
View view= LayoutInflater.from(this).inflate(R.layout.head,null);
myBaseQadapter.addHeaderView(view);
Banner banner=view.findViewById(R.id.ban);
List<String>list=new ArrayList<>();
OkGo.<String>get("http://43.143.146.165:7777/banner/json").execute(new StringCallback() {
@Override
public void onSuccess(Response<String> response) {
String body=response.body().toString();
Log.i("--awda", "onSuccess: "+body);
Gson gson = new Gson();
BanBan banBan = gson.fromJson(body, BanBan.class);
List<BanBan.DataDTO> data = banBan.getData();
for(int i=0;i<data.size();i++){
BanBan.DataDTO dataDTO = data.get(i);
list.add(dataDTO.getImagePath());
}
banner.setImages(list);
banner.setImageLoader(new ImageLoader() {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load(path).into(imageView);
}
});
banner.start();
}
});
}
private void initdata() {
OkGo.<String>get("http://43.143.146.165:7777/foods/getFoods?currentPage=1&pageSize=12").execute(new StringCallback() {
@Override
public void onSuccess(Response<String> response) {
String body=response.body().toString();
Log.i("---aaaa", "onSuccess: "+body);
FoodBan foodBan = new Gson().fromJson(body, FoodBan.class);
List<FoodBan.DataDTO> data = foodBan.getData();
if(dataDTOList==null&&dataDTOList.size()==0){
Toast.makeText(MainActivity.this, "没有数据了", Toast.LENGTH_SHORT).show();
}else {
dataDTOList.addAll(data);
myBaseQadapter.notifyDataSetChanged();
}
}
});
}
}
package com.bw.zhuangao2_8;
import android.content.Context;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.bumptech.glide.Glide;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import java.util.List;
public class MyBaseQadapter extends BaseQuickAdapter<FoodBan.DataDTO, BaseViewHolder> {
Context context;
public MyBaseQadapter(int layoutResId, @Nullable List<FoodBan.DataDTO> data,Context context) {
super(layoutResId, data);
this.context=context;
}
@Override
protected void convert(@NonNull BaseViewHolder baseViewHolder, FoodBan.DataDTO dataDTO) {
baseViewHolder.setText(R.id.text,dataDTO.getTitle());
ImageView imageView=baseViewHolder.getView(R.id.im1);
Glide.with(context).load(dataDTO.getPic()).into(imageView);
}
}