zoukankan      html  css  js  c++  java
  • 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 返回列表一共有多少项

  • 相关阅读:
    Java学习笔记-Lambda表达式
    Java学习笔记-枚举类
    Java学习笔记-枚举类
    Java学习笔记-包装类
    js 递归 汉诺塔的例子
    js 用 hasOwnProperty() 判定属性是来自该对象成员,还是原型链
    正则,js函数math()提取混乱字符串中多个字符串内容
    封装好的cookie的三个常用函数 cookie的添加、删除、提取操作函数
    解决ie6下png背景不能透明bug
    ie6下标签定义的高失效,显示的高不受设定的height值影响
  • 原文地址:https://www.cnblogs.com/six-moon/p/4647470.html
Copyright © 2011-2022 走看看