全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

RecyclerView的简单使用

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 


相关文章: 网站微信制作软件,如何制作微信链接?  制作营销网站公司,淘特是干什么用的?  如何在阿里云高效完成企业建站全流程?  建站之星导航菜单设置与功能模块配置全攻略  建站之星代理费用多少?最新价格详情介绍  微信推文制作网站有哪些,怎么做微信推文,急?  如何通过万网虚拟主机快速搭建网站?  如何零基础开发自助建站系统?完整教程解析  如何快速启动建站代理加盟业务?  如何选择PHP开源工具快速搭建网站?  如何通过IIS搭建网站并配置访问权限?  javascript中的try catch异常捕获机制用法分析  行程制作网站有哪些,第三方机票电子行程单怎么开?  如何快速打造个性化非模板自助建站?  如何通过虚拟主机快速搭建个人网站?  北京企业网站设计制作公司,北京铁路集团官方网站?  如何配置IIS站点权限与局域网访问?  如何在IIS中新建站点并配置端口与IP地址?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  教学网站制作软件,学习*后期制作的网站有哪些?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  已有域名如何快速搭建专属网站?  如何在云主机上快速搭建多站点网站?  如何通过商城免费建站系统源码自定义网站主题?  建站之星代理平台如何选择最佳方案?  网站制作的步骤包括,正确网址格式怎么写?  家庭服务器如何搭建个人网站?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  高防服务器租用如何选择配置与防御等级?  盘锦网站制作公司,盘锦大洼有多少5G网站?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  贸易公司网站制作流程,出口贸易网站设计怎么做?  如何通过服务器快速搭建网站?完整步骤解析  ,南京靠谱的征婚网站?  如何选择服务器才能高效搭建专属网站?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  建站之星代理商如何保障技术支持与售后服务?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  ,制作一个手机app网站要多少钱?  如何通过虚拟主机快速完成网站搭建?  Bpmn 2.0的XML文件怎么画流程图  微信h5制作网站有哪些,免费微信H5页面制作工具?  黑客如何利用漏洞与弱口令入侵网站服务器?  建站之星2.7模板快速切换与批量管理功能操作指南  ,网站推广常用方法?  详解jQuery中基本的动画方法  阿里云网站制作公司,阿里云快速搭建网站好用吗?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。