public class StaggAdpter extends RecyclerView.Adapter<StaggAdpter.ViewHolder>{
private Context context;
private List<String> list;
private List<Integer> hiehts = new ArrayList<>();
public StaggAdpter(Context context, List<String> list) {
this.context = context;
this.list = list;
for(int i = 0;i<list.size();i++){
hiehts.add((int) (Math.random()*400+300));
}
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
ViewHolder holder = new ViewHolder(LinearLayout.inflate(context, R.layout.list1, null));
return holder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
ViewGroup.LayoutParams params = viewHolder.textView.getLayoutParams();
params.height = hiehts.get(i);
viewHolder.textView.setBackgroundColor(Color.rgb((int) (Math.random()*100+150),(int) (Math.random()*100+150),(int) (Math.random()*100+150)));
viewHolder.textView.setText(list.get(i));
}
@Override
public int getItemCount() {
return list==null?0:list.size();
}
class ViewHolder extends RecyclerView.ViewHolder{
public TextView textView;
public ViewHolder(@NonNull View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.textView);
}
}
}
public class TwoActivity extends AppCompatActivity {
RecyclerView recyclerView;
StaggAdpter adpter;
private List<String> list = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
recyclerView = findViewById(R.id.re);
for (int i = 0;i<100;i++){
list.add("失误");
}
recyclerView.setLayoutManager(new StaggeredGridLayoutManager(3, OrientationHelper.VERTICAL));
adpter = new StaggAdpter(this,list);
recyclerView.setAdapter(adpter);
}
public void add(View view){
list.add(5,"呵呵");
adpter.notifyItemInserted(5);
}
public void remove(View view){
list.add(5,"呵呵");
adpter.notifyItemRemoved(5);
}
}
来源:CSDN
作者:qq_41880248
链接:https://blog.csdn.net/qq_41880248/article/details/81381492