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
相关文章:
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
七夕网站制作视频,七夕大促活动怎么报名?
网站制作难吗安全吗,做一个网站需要多久时间?
如何使用Golang table-driven基准测试_多组数据测量函数效率
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
活动邀请函制作网站有哪些,活动邀请函文案?
太原网站制作公司有哪些,网约车营运证查询官网?
c++ stringstream用法详解_c++字符串与数字转换利器
如何通过商城免费建站系统源码自定义网站主题?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
建站之星如何通过成品分离优化网站效率?
建站之星备案是否影响网站上线时间?
常州企业网站制作公司,全国继续教育网怎么登录?
江苏网站制作公司有哪些,江苏书法考级官方网站?
简历在线制作网站免费版,如何创建个人简历?
建站之星伪静态规则如何设置?
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
如何在局域网内绑定自建网站域名?
广州美橙建站如何快速搭建多端合一网站?
,sp开头的版面叫什么?
如何彻底卸载建站之星软件?
如何选择高效稳定的ISP建站解决方案?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
网站制作公司排行榜,四大门户网站排名?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
C++中引用和指针有什么区别?(代码说明)
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
网站制作新手教程,新手建设一个网站需要注意些什么?
如何快速上传建站程序避免常见错误?
Android使用GridView实现日历的简单功能
nginx修改上传文件大小限制的方法
内网网站制作软件,内网的网站如何发布到外网?
制作网站的软件免费下载,免费制作app哪个平台好?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
如何用低价快速搭建高质量网站?
C#如何使用XPathNavigator高效查询XML
如何用PHP快速搭建CMS系统?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
建站之星代理如何优化在线客服效率?
如何快速搭建FTP站点实现文件共享?
如何快速生成可下载的建站源码工具?
如何访问已购建站主机并解决登录问题?
建站之星导航如何优化提升用户体验?
如何通过智能用户系统一键生成高效建站方案?
如何获取开源自助建站系统免费下载链接?
制作公司内部网站有哪些,内网如何建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。