Android 中 Recycler View 的使用

第 1 步:创建一个 Activity 为空的 android 项目
第 2 步:将 recyler 视图放入项目中。
第 3 步:转到 Layouts>make new layout 作为“sample_for_recylerview”。
第 4 步:完全设计此布局中的样本。
第 5 步:转到 Java 文件创建两个新包,一个用于“模型”,第二个用于“适配器”。
第 6 步:为模型包中的模型创建一个 Java 类。

这是模型类的示例

package com.example.myfoodapp.mymodels;

public class MainModel {
    int image;
    String priduct_Name;
    String price;
    String discription;

    public MainModel(int image, String priduct_Name, String price, String discription) {
        this.image = image;
        this.priduct_Name = priduct_Name;
        this.price = price;
        this.discription = discription;
    }

    public int getImage() {
        return image;
    }

    public void setImage(int image) {
        this.image = image;
    }

    public String getPriduct_Name() {
        return priduct_Name;
    }

    public void setPriduct_Name(String priduct_Name) {
        this.priduct_Name = priduct_Name;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public String getDiscription() {
        return discription;
    }

    public void setDiscription(String discription) {
        this.discription = discription;
    }

}

第 7 步:在adapter包中创建一个adapter类和一个ViewHolder类,在adapter类中会被RecylerView.ViewHolder扩展,并用它来绑定后端java中的front和views。

这是适配器类的示例代码

package com.example.myfoodapp.myadapters;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.example.myfoodapp.R;
import com.example.myfoodapp.mymodels.MainModel;

import java.util.ArrayList;

public class MainAdapter extends RecyclerView.Adapter<MainAdapter.ViewHolder> {

    ArrayList<MainModel> myList;
    Context context;

    public MainAdapter(ArrayList<MainModel> myList, Context context) {
        this.myList = myList;
        this.context = context;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.sample_mainfoodpage,parent,false);

        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
            MainModel model = myList.get(position);
            holder.myImage.setImageResource(model.getImage());
            holder.myName.setText(model.getPriduct_Name());
            holder.myPrice.setText(model.getPrice());
            holder.MyDes.setText(model.getDiscription());
    }

    @Override
    public int getItemCount() {
        return myList.size();
    }

    //View holding class. . .
    public class ViewHolder extends RecyclerView.ViewHolder{

        ImageView myImage;
        TextView myName, myPrice, MyDes;
        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            myImage = itemView.findViewById(R.id.my_imageview);
            myName = itemView.findViewById(R.id.lbl_itemname);
            myPrice = itemView.findViewById(R.id.lbl_price);
            MyDes = itemView.findViewById(R.id.lbl_discription);

        }
    }
}

第 8 步:制作适配器类后,让我们进入 mainactivity java 文件并在文件中编写程序,如下例所示:

这是 MainActivity.Java

package com.example.myfoodapp;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.os.Bundle;
import android.widget.LinearLayout;

import com.example.myfoodapp.myadapters.MainAdapter;
import com.example.myfoodapp.mymodels.MainModel;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    RecyclerView recyclerView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        recyclerView = findViewById(R.id.myRecylerview);

        ArrayList<MainModel> list = new ArrayList<>();
        list.add(new MainModel(R.drawable.food1,"Burger","$2.5","Zinger burger with exta toping of chese"));
        list.add(new MainModel(R.drawable.food2,"Pizz","$3.5","Pizza with exta toping of chese"));

        MainAdapter adapter = new MainAdapter(list, this);
        recyclerView.setAdapter(adapter);

        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
        recyclerView.setLayoutManager(linearLayoutManager);
    }
}

最后,如果大伙有什么好的学习方法或建议欢迎大家在评论中积极留言哈,希望大家能够共同学习、共同努力、共同进步。

小编在这里祝小伙伴们在未来的日子里都可以 升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰!!

不论遇到什么困难,都不应该成为我们放弃的理由!

很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,需要一份小编整理出来的Android学习资料的点击文末微信卡片免费领取~

这里是关于我自己的Android 学习,面试文档,视频收集大整理,有兴趣的伙伴们可以看看~

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言,一定会认真查询,修正不足,谢谢。


版权声明:本文为xiaokangss原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。