RecyclerView简单使用

第一步导入依赖

implementation 'androidx.recyclerview:recyclerview:1.1.0'

第二步创建Bean对象

public class Home_Appliance  {
    private String name;
    private int photo;

    public Home_Appliance(String name, int photo) {
        this.name = name;
        this.photo = photo;
    }}

第三步定义item项布局

第四步设置设配器

public class HomeAdapter extends RecyclerView.Adapter<HomeAdapter.ViewHolder> 

注意HomeAdapter.ViewHolder下面的create、onbind也要改。

*从Activity中获取数据来源

private List<Student> mStudentList;

public StudentAdapter(List<Student> studentList){

mStudentList = studentList;}

*使用ViewHolder优化

class ViewHolder extends RecyclerView.ViewHolder{
    ImageView appliance_Prop;
   // TextView appliance_Name;
    public ViewHolder(View view){
        super(view);
        appliance_Prop =  view.findViewById(R.id.photo);
       // appliance_Name = view.findViewById(R.id.name);
    }
}

*创建视图

public ViewHolder onCreateViewHolder(@NonNull @NotNull ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.home_appliance, parent, false);
    ViewHolder holder = new ViewHolder(view);
    return holder;
}

*绑定数据

 Home_Appliance home_appliance = mhomeList.get(position);
//  holder.appliance_Name.setText(home_appliance.getName());
  Glide.with(getContext())
          .load(home_appliance.getPhoto())
          .centerCrop()
          .override(200,200)  //设置item图片大小
          .into(holder.appliance_Prop);
  ViewGroup.LayoutParams lp = holder.appliance_Prop.getLayoutParams();
 // Random ra =new Random();
  int a=(int)(100+Math.random()*(200-100+1));
  lp.height = a;
  holder.appliance_Prop.setLayoutParams(lp);

其中viewgroup.Layout代码为设置瀑布流布局item大小

*返回item项个数

public int getItemCount() {
    return mhomeList.size();
}

*增删item操作

mHomeList.remove(0);   //删
adapter.notifyDataSetChanged();
mHomeList.add( 0,refrigerator);//增
adapter.notifyDataSetChanged();

*在onActivityCreate中设置属性

StaggeredGridLayoutManager layoutManager=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
recyclerView.setLayoutManager(layoutManager);
HomeAdapter adapter = new HomeAdapter(mHomeList);
recyclerView.setAdapter(adapter);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值