public class PicAdapter extends RecyclerView.Adapter<PicAdapter.ViewHolder> {
private List<JsonBean.ResultBean.DataBean> list;
private Context context;
public PicAdapter(List<JsonBean.ResultBean.DataBean> list) {
this.list = list;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
context = viewGroup.getContext();
View view = LayoutInflater.from(context).inflate(R.layout.list_item, viewGroup, false);
ViewHolder viewHolder=new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, final int i) {
Picasso.with(context).load(list.get(i).getThumbnail_pic_s()).into(viewHolder.imageView);
viewHolder.imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onItemClickListener.onItemClick(list.get(i).getThumbnail_pic_s());
}
});
}
@Override
public int getItemCount() {
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
private final ImageView imageView;
public ViewHolder(@NonNull View itemView) {
super(itemView);
imageView = itemView.findViewById(R.id.imageView);
// ViewGroup.LayoutParams params=imageView.getLayoutParams();
// //设置控件的宽高
// params.width=(1000)/3;
// params.height= (int) (+Math.random()*400);
// imageView.setLayoutParams(params);
}
}
private OnItemClickListener onItemClickListener;
public interface OnItemClickListener{
void onItemClick(String url);
}
public void setOnItemClickListener(OnItemClickListener onItemClickListener){
this.onItemClickListener=onItemClickListener;
}
public void del(int i){
if (list.size()==0||list==null){
Toast.makeText(context,"没有了",Toast.LENGTH_SHORT).show();
}else {
list.remove(i);
notifyItemRemoved(i);
}
}
public void add(int position){
list.add(position,list.get(2));
notifyItemInserted(position);
}
}
activity中代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
imageView = findViewById(R.id.imageView);
textView = findViewById(R.id.textView);
recyclerView = findViewById(R.id.recyclerView);
add = findViewById(R.id.add);
del = findViewById(R.id.del);
// Intent intent = getIntent();
// String pic = intent.getStringExtra("pic");
// Picasso.with(this).load(pic).into(imageView);
// textView.setText("枫叶");
PicPresent picPresent=new PicPresent(this);
picPresent.getData();
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
adapter.add(1);
}
});
del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
adapter.del(0);
}
});
}
@Override
public void onSuccess(List<JsonBean.ResultBean.DataBean> list) {
StaggeredGridLayoutManager staggeredGridLayoutManager=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
recyclerView.setLayoutManager(staggeredGridLayoutManager);
adapter = new PicAdapter(list);
recyclerView.setAdapter(adapter);
adapter.setOnItemClickListener(this);
}
@Override
public void onFailed(String msg) {
Toast.makeText(Main2Activity.this,msg,Toast.LENGTH_SHORT).show();
}
@Override
public void onItemClick(String url) {
Intent intent=new Intent(Main2Activity.this,Main3Activity.class);
intent.putExtra("url",url);
startActivity(intent);
}
}