RecyclerView的使用

本文介绍如何在Android应用中使用RecyclerView及其自定义适配器。通过具体的代码示例,展示了如何搭建环境、定义适配器类、加载适配器及配置布局管理器等步骤。

项目git地址:https://github.com/lantian0314/ORMProject

一、环境的搭建

使用快捷键Ctrl+Alt+Shift+s找到下图,并搜索recycler


二、在布局文件中添加RecyclerView

<android.support.v7.widget.RecyclerView
        android:id="@+id/recycle_view"
        android:layout_width="match_parent"

        android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>

三、定义适配器

public class MyRecycleAdapter extends RecyclerView.Adapter<MyRecycleAdapter.ListViewHolder> {

    private Context mContext;
    private List<Student> mList;

    public MyRecycleAdapter(Context context, List<Student> list) {
        this.mContext = context;
        this.mList = list;
    }

    @Override
    public MyRecycleAdapter.ListViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = View.inflate(mContext, R.layout.recycle_item, null);
        ListViewHolder listViewHolder = new ListViewHolder(view);
        return listViewHolder;
    }

    @Override
    public void onBindViewHolder(ListViewHolder holder, int position) {
        Student student = mList.get(position);
        holder.setData(student);
    }

    @Override
    public int getItemCount() {
        if (mList != null && mList.size() > 0) {
            return mList.size();
        }
        return 0;
    }

    public class ListViewHolder extends RecyclerView.ViewHolder {
        private TextView txt_id;
        private TextView txt_name;
        private TextView txt_age;
        private TextView txt_sex;

        public ListViewHolder(View itemView) {
            super(itemView);
            txt_id = itemView.findViewById(R.id.txt_studentid);
            txt_name = itemView.findViewById(R.id.txt_name);
            txt_age = itemView.findViewById(R.id.txt_studentAge);
            txt_sex = itemView.findViewById(R.id.txt_sex);
        }

        public void setData(Student student) {
            txt_id.setText("学生ID: " + student.getStudentId());
            txt_name.setText("学生姓名: " + student.getName());
            txt_age.setText("学生年龄: " + String.valueOf(student.getAge()));
            txt_sex.setText("学生性别: " + student.getSex());
        }
    }

四、RecyclerView加载适配器

public class SugarORMActivity extends AppCompatActivity {
    private RecyclerView recyclerView=null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sugarlayout);
        recyclerView=(RecyclerView)findViewById(R.id.recycle_view);
        StudentManager studentManager=new StudentManager();
        studentManager.saveStudent();
        studentManager.ishaveData();
        studentManager.searchByCondition("student_ID=?", "123456");
        //列表使用的是上一章ORM框架数据中的数据
        List<Student> mList=studentManager.listAll();
        //创建适配器对象
        MyRecycleAdapter myRecycleAdapter=new MyRecycleAdapter(SugarORMActivity.this,mList);
        //设置适配器
        recyclerView.setAdapter(myRecycleAdapter);
        //布局管理器
        LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this);
        //设置布局管理器
        recyclerView.setLayoutManager(linearLayoutManager);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值