Android入门教程 | RecyclerView使用入门

📅 发布时间:2026/8/27 12:54:45
Android入门教程 | RecyclerView使用入门 想必大家对列表的表现形式已经不再陌生。手机上有联系人列表文件列表短信列表等等。 本文讲述的是在 Android 开发中用 RecyclerView 来实现列表效果。使用步骤引入RecyclerView在 app 的 build.gradle 文件中添加引用。我们使用的是 androidx 包。gradle:dependencies{// ...implementationandroidx.recyclerview:recyclerview:1.1.0}数据准备先确定一下要显示什么样的数据。是用户信息联系人或是文件。这里以字符为例。 写代码前我们先考虑一下需求就是要如何显示怎么显示数据。日常工作中一般会有 UI 效果图。而本文中的美术设计就由我们自己发挥了。比如显示a和97。ViewHolder 与 layout现在要显示的数据已经确定了。来设计UI表现。layout与 ViewHolder 紧密相关。在设计 Adapter 类前先写 ViewHolder 类会比较好。新建定义 item列表子项的布局文件item_letter.xml。?xml version1.0encodingutf-8?LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationhorizontalTextViewandroid:idid/tv1android:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textColor#000000/TextViewandroid:idid/tv2android:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textColor#000000//LinearLayout这里使用内部类把ViewHolder类写在 Activity 类里面。创建VH类privateclassVHextendsRecyclerView.ViewHolder{TextView tv1;TextView tv2;publicVH(NonNull View itemView){super(itemView);tv1itemView.findViewById(R.id.tv1);tv2itemView.findViewById(R.id.tv2);}}从上面可以看出ViewHolder 和 item 的 layout 是紧密相关的。 layout 里面的 id 写的比较简单。实际项目中可以给一些更有意义的 id 命名。在 activity 的 layout 文件中添加RecyclerView。layout 中添加 RecyclerViewandroidx.recyclerview.widget.RecyclerViewandroid:idid/re_viewandroid:layout_widthmatch_parentandroid:layout_heightwrap_content/设计 Adapter设计一个适配器继承自RecyclerView.AdapterVH。这里的VH是我们上面写好的 ViewHolder。LetterAdapter中持有它自己的数据列表。需要实现3个方法。onCreateViewHolder方法要求返回VH对象。-这里就是创建VH对象并返回。而VH构造器要求传入一个View我们利用LayoutInflater创建一个view给它。当然创建的根据就是前面设计好的item_letter。LetterAdapter:privateclassLetterAdapterextendsRecyclerView.AdapterVH{privateListCharacterdataList;publicLetterAdapter(ListCharacterdataList){this.dataListdataList;}NonNull OverridepublicVHonCreateViewHolder(NonNull ViewGroup parent,int viewType){returnnewVH(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_letter,parent,false));}OverridepublicvoidonBindViewHolder(NonNullVHholder,int position){Character cdataList.get(position);holder.tv1.setText(c.toString());holder.tv2.setText(String.valueOf(Integer.valueOf(c)));}OverridepublicintgetItemCount(){returndataList.size();}}粗心大意的时候可能会忘记初始化 adapter 里的 dataList。会报一个null pointer异常。设置 RecyclerView在 Activity 的 onCreate 方法里进行了初始化。RecyclerView需要2项设置适配器与LayoutManager。适配器就是我们上面定的那个。 LayoutManager这里用LinearLayoutManager指定为垂直方向这样我们会得到一个上下滑动的列表。使用 LinearLayoutManagerListCharactercharacterListnewArrayList();for(char ca;cz;c){characterList.add(c);}mLetterAdapternewLetterAdapter(characterList);RecyclerView letterReViewfindViewById(R.id.re_view);letterReView.setAdapter(mLetterAdapter);letterReView.setLayoutManager(newLinearLayoutManager(this,RecyclerView.VERTICAL,false));/pre/details观察运行结果运行到手机或者模拟器上打开这个activity。有的朋友就发现为啥屏幕里一个子项item就占满了整个屏幕因为我们前面设置的item占满屏幕。回到item_letter.xml看一下根layout的设置。 把layout_heightmatch_parent里的设置改为wrap_content。 重新编译运行一下再看看结果。我们也可以给根 layout 设置固定的高度。具体视美术设计和需求而定。最后分享一份【腾讯技术团队出品】Android零基础入门到精通Android Studio安装教程全套安卓基础教程Android编程入门教程Java语言基础从入门到熟悉Kotlin语言基础从入门到熟悉Android 技术栈从入门到熟悉Android Jetpack 全家桶全面学习对于新手来说可能安装Android Studio存在一定困难你可以看着以下视频一步步的跟着学习安装运行Android Studio 安装教程有了Java阶段的学习这一阶段建议以视频学习为主辅以图书查漏补缺。如果以图书为主可以根据图书讲解敲代码辅以教学视频查漏补缺。遇到问题可以去百度入门的问题一般会有很多人遇到并且给出比较好的解答。需要掌握基本知识点比如四大组件如何使用、如何创建Service、如何进行布局、简单的自定义View、动画、网络通信等常见技术。全套零基础教程已经为你们准备好了需要的可以添加下方二维码免费领取全套安卓基础教程