Android RecycleView

Android RecyclerView 用来替代传统的ListView

要在Android Studio 中使用RecyclerView 首先要依赖相应的包

右键项目--->Open Module Settings---->Dependecies--->添加com.android.support:recycleview

package com.example.tanjin.learnrec;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity {
    private RecyclerView rv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        rv = new RecyclerView(this);

        setContentView(rv);

        rv.setLayoutManager(new LinearLayoutManager(this));

        rv.setAdapter(new RecyclerView.Adapter() {

            class ViewHolder extends RecyclerView.ViewHolder
            {
                private TextView tv;
                public ViewHolder(View itemView)
                {
                    super(itemView);
                    tv = (TextView)itemView;
                }

                public TextView getTv()
                {
                    return  tv;
                }

            }

            @Override
            public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
                return new ViewHolder(new TextView(viewGroup.getContext()));

            }

            @Override
            public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) {
                ViewHolder vh = (ViewHolder)viewHolder;
                vh.getTv().setText("item"+i);

            }

            @Override
            public int getItemCount() {
                return 1000;
            }
        });

    }

}

效果:

可以上下滑动

接下来,用一个数组来实现RecycleView

增加一个字符串数组

private String[] data = new String[]{"Hello","Android"};

更改onBindViewHolder方法和getItemCount方法

public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) {
 ViewHolder vh = (ViewHolder)viewHolder;
 vh.getTv().setText(data[i]);
}
 public int getItemCount() {
       return data.length;
        }

再次运行

由以上可知,使用RecyclerView的重点在设置Adapter

onCreateViewHolder 即创建ViewHolder

onBindViewHolder 即绑定ViewHolder,设置ViewHolder里面的View

getItemCount 返回列表一共有多少项

时间: 2024-11-05 15:51:46

Android RecycleView的相关文章

Android recycleView 的一北京PK10平台出租些优化与相关问题

北京PK10平台出租论坛:haozbbs.com Q1446595067 recycleView 也出来很长时间了,记录一些自己见到的recycleView优化吧. 1.recyclerView.setHasFixedSize(true); Item的高度是固定的,设置这个选项可以提高性能.总得来说就是就是避免整个布局绘制.就是避免requestLayout. 具体的可以看看stackoverflow的这个几个问题 Understanding RecyclerView setHasFixedSi

[Android] Android RecycleView和ListView 自定义Adapter封装类

在网上查看了很多对应 Android RecycleView和ListView 自定义Adapter封装类 的文章,主要存在几个问题: 一).网上代码一大抄,复制来复制去,大部分都运行不起来,或者 格式错乱 二).剩下的那些能运行起来的,将Adapter类.ViewHolder类,放在不同文件里,导致文件多.杂 于是总结这两个单独的Custom***ViewAdapter 类,以方便调用! 一.RecycleView Adapter自定义封装类 CustomRecyclerViewAdapter

Android RecycleView使用详解

一.RecycleView简要介绍 RecycleView是support-v7包中的新组件,是一个强大的滑动组件.相比于ListView和GridView具有很多让开发者喜欢的优点,如:数据绑定,Item的创建和View的回收复用机制等.但RecycleView更加高级灵活,当我们数据因为用户事件或者网络事件发生改变的时候也能很好的进行显示.RecycleView最主要的特点就是复用. 二.RecycleView与ListView区别 RecycleView是ListView的升级版,与经典的

android recycleview 中禁止多点触发

int currentapiVersion = android.os.Build.VERSION.SDK_INT; if (currentapiVersion >= android.os.Build.VERSION_CODES.HONEYCOMB) { recycleview.setMotionEventSplittingEnabled(false); }

Android RecycleView + CardView 控件简析

今天使用了V7包加入的RecycleView 和 CardView,写篇简析. 先上效果图: 原理图: 这是RecycleView的工作原理: 1.LayoutManager用来处理RecycleView的“列表”样式,Support包默认包含了:LinearLayoutManager  横向或纵向的滚动列表. GridLayoutManager  网格列表.StaggeredGridLayoutManager  交错的网格列表. 2.Adapter负责处理RecycleView的数据和样式 3

android RecycleView复杂多条目的布局

用RecycleView来实现布局形式.默认仅仅能指定一种布局格式.可是实际中我们的布局常常会用到多种类型的布局方式.怎样实现呢? 今天来说下经常使用的2钟方式. 第一种: 通过自己定义addHeadView方法来加入头布局 RecycleViewWithHead.java import android.app.Activity; import android.os.Bundle; import android.support.v7.widget.GridLayoutManager; impor

Android RecycleView自定义布局的使用

自定义布局的RecycleView需要自己实现Adapter,ViewHolder和布局: 自定义Adapter继承RecycleView.Adapter,重写getItemCount(),onBindViewHolder()和onCreateViewHolder(): 自定义ViewHolder继承于RecycleView.ViewHolder: getItemCount()返回RecycleView中Item的个数,onBindViewHolder()主要实现数据和布局的绑定,onCreat

android recycleView 简单使用二---分割线

转自:https://www.jianshu.com/p/b46a4ff7c10a RecyclerView没有像之前ListView提供divider属性,而是提供了方法 recyclerView.addItemDecoration() 其中ItemDecoration需要我们自己去定制重写,一开始可能有人会觉得麻烦不好用,最后你会发现这种可插拔设计不仅好用,而且功能强大. ItemDecoration类主要是三个方法: public void onDraw(Canvas c, Recycle

67.Recycler View

Android RecycleView is more advanced version of ListView with improved performance and other benifits.Using RecyclerView and CardView together,both lists and grids can be created very easily. Here is the complete information anbout RecycleView and ot