RecyclerView的功能很强大,本文为大家分享RecyclerView的简单使用方法。

效果图:
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent"/> </LinearLayout>
fruit_item.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp"> <ImageView android:id="@+id/fruit_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal"/> <TextView android:id="@+id/fruit_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left" android:layout_marginTop="10dp"/> </LinearLayout>
Fruit实体类:
public class Fruit {
private String name;
private int imageId;
public Fruit(String name, int imageId) {
this.name = name;
this.imageId = imageId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getImageId() {
return imageId;
}
public void setImageId(int imageId) {
this.imageId = imageId;
}
}
FruitAdapter:
public class FruitAdapter extends RecyclerView.Adapter<FruitAdapter.ViewHolder> {
private List<Fruit> mFruitList;
static class ViewHolder extends RecyclerView.ViewHolder{
ImageView fruitImage;
TextView fruitName;
public ViewHolder(View view){
super(view);
fruitImage = view.findViewById(R.id.fruit_image);
fruitName = view.findViewById(R.id.fruit_name);
}
}
public FruitAdapter(List<Fruit> fruitList){
mFruitList = fruitList;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(
R.layout.fruit_item,parent,false);
final ViewHolder holder = new ViewHolder(view);
holder.fruitImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Fruit fruit = mFruitList.get(holder.getAdapterPosition());
Toast.makeText(view.getContext(),"you clicked view "+fruit.getName(),Toast.LENGTH_SHORT).show();
}
});
return holder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Fruit fruit = mFruitList.get(position);
holder.fruitImage.setImageResource(fruit.getImageId());
holder.fruitName.setText(fruit.getName());
}
@Override
public int getItemCount() {
return mFruitList.size();
}
}
MainActivity:
public class MainActivity extends AppCompatActivity {
List<Fruit> fruitList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initFruit();
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
StaggeredGridLayoutManager manager = new StaggeredGridLayoutManager(3,
StaggeredGridLayoutManager.VERTICAL);
recyclerView.setLayoutManager(manager);
FruitAdapter adapter = new FruitAdapter(fruitList);
recyclerView.setAdapter(adapter);
}
public void initFruit(){
for (int i = 0; i < 2; i++) {
Fruit apple = new Fruit(getRandomLengthName("Apple"), R.drawable.apple_pic);
fruitList.add(apple);
Fruit banana = new Fruit(getRandomLengthName("Banana"), R.drawable.banana_pic);
fruitList.add(banana);
Fruit orange = new Fruit(getRandomLengthName("Orange"), R.drawable.orange_pic);
fruitList.add(orange);
Fruit watermelon = new Fruit(getRandomLengthName("Watermelon"), R.drawable.watermelon_pic);
fruitList.add(watermelon);
Fruit pear = new Fruit(getRandomLengthName("Pear"), R.drawable.pear_pic);
fruitList.add(pear);
Fruit grape = new Fruit(getRandomLengthName("Grape"), R.drawable.grape_pic);
fruitList.add(grape);
Fruit pineapple = new Fruit(getRandomLengthName("Pineapple"), R.drawable.pineapple_pic);
fruitList.add(pineapple);
Fruit strawberry = new Fruit(getRandomLengthName("Strawberry"), R.drawable.strawberry_pic);
fruitList.add(strawberry);
Fruit cherry = new Fruit(getRandomLengthName("Cherry"), R.drawable.cherry_pic);
fruitList.add(cherry);
Fruit mango = new Fruit(getRandomLengthName("Mango"), R.drawable.mango_pic);
fruitList.add(mango);
}
}
public String getRandomLengthName(String name){
Random random = new Random();
int length = random.nextInt(20)+1;
StringBuilder builder = new StringBuilder();
for(int i = 0; i < length; i++){
builder.append(name);
}
return builder.toString();
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# RecyclerView
# 使用
# Android ExpandableRecyclerView使用方法详解
# Android使用Recyclerview实现图片水平自动循环滚动效果
# Android RecyclerView使用方法详解
# Android使用RecyclerView实现今日头条频道管理功能
# Android使用RecyclerView实现列表数据选择操作
# Android RecyclerView的简单使用
# Android使用分类型RecyclerView仿各大商城首页
# android使用ItemDecoration给RecyclerView 添加水印
# Android如何使用RecyclerView打造首页轮播图
# Android RecyclerView基本使用详解
# 大家分享
# 大家多多
# 很强大
# 实体类
# String
# int
# public
# private
# imageId
# void
# setName
# getName
# return
# fruit_name
# left
# center_horizontal
# TextView
# layout_marginTop
# layout_gravity
# java
相关文章:
建站之星伪静态规则如何设置?
网站企业制作流程,用什么语言做企业网站比较好?
内网网站制作软件,内网的网站如何发布到外网?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
内部网站制作流程,如何建立公司内部网站?
网站制作模板下载什么软件,ppt模板免费下载网站?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
北京网站制作网页,网站升级改版需要多久?
网站制作公司,橙子建站是合法的吗?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
高性价比服务器租赁——企业级配置与24小时运维服务
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
红河网站制作公司,红河事业单位身份证如何上传?
如何快速登录WAP自助建站平台?
如何在建站宝盒中设置产品搜索功能?
如何高效完成独享虚拟主机建站?
小型网站建站如何选择虚拟主机?
网站制作报价单模板图片,小松挖机官方网站报价?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
如何在阿里云高效完成企业建站全流程?
高防服务器:AI智能防御DDoS攻击与数据安全保障
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
广州建站公司哪家好?十大优质服务商推荐
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
建站之星后台密码遗忘或太弱?如何重置与强化?
如何通过cPanel快速搭建网站?
中山网站推广排名,中山信息港登录入口?
小程序网站制作需要准备什么资料,如何制作小程序?
如何选择美橙互联多站合一建站方案?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
建站之星2.7模板:企业网站建设与h5定制设计专题
已有域名能否直接搭建网站?
成都网站制作报价公司,成都工业用气开户费用?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
如何批量查询域名的建站时间记录?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
定制建站流程解析:需求评估与SEO优化功能开发指南
如何使用Golang安装API文档生成工具_快速生成接口文档
如何快速搭建高效香港服务器网站?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
*请认真填写需求信息,我们会在24小时内与您取得联系。