线性显示 类似于listview:

线性宫格显示 类似于grid view:

用线性宫格显示 类似于瀑布流:

结构图:

测试代码:

activity_main.xml:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
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"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" /> </RelativeLayout>

activity_main.xml

MainActivity.java:

 package com.zzw.testrecyclerview;

 import android.app.Activity;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.OrientationHelper;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.RecyclerView.Adapter;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.widget.TextView; public class MainActivity extends Activity { RecyclerView mRecyclerView; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); String[] mTitles = new String[100]; for (int i = 0; i < 99; i++) {
mTitles[i] = "测试数据" + i;
} mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view); // 这里用线性显示 类似于listview
// mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); // 这里用线性宫格显示 类似于grid view
// mRecyclerView.setLayoutManager(new GridLayoutManager(this,3)); // 这里用线性宫格显示 类似于瀑布流
mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(2,
OrientationHelper.VERTICAL)); NormalRecyclerViewAdapter adapter = new NormalRecyclerViewAdapter(this,
android.R.layout.simple_list_item_1, mTitles); mRecyclerView.setAdapter(adapter);
} }

NormalRecyclerViewAdapter.java:

 package com.zzw.testrecyclerview;

 import android.content.Context;
import android.support.v7.widget.RecyclerView.Adapter;
import android.support.v7.widget.RecyclerView.ViewHolder;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.TextView; public class NormalRecyclerViewAdapter extends
Adapter<NormalRecyclerViewAdapter.NormalTextViewHolder> {
private final LayoutInflater mLayoutInflater;
private final Context mContext;
private String[] mTitles; public NormalRecyclerViewAdapter(Context context, int item_id,
String[] Titles) {
mContext = context;
mTitles = Titles;
mLayoutInflater = LayoutInflater.from(context);
} @Override
public int getItemCount() { return mTitles == null ? 0 : mTitles.length;
} @Override
public NormalTextViewHolder onCreateViewHolder(ViewGroup arg0, int arg1) { return new NormalTextViewHolder(mLayoutInflater.inflate(
android.R.layout.simple_list_item_1, null));
} @Override
public void onBindViewHolder(NormalTextViewHolder holder, int position) {
holder.mTextView.setText(mTitles[position]);
} public static class NormalTextViewHolder extends ViewHolder { TextView mTextView; public NormalTextViewHolder(View view) {
super(view);
mTextView=(TextView) view.findViewById(android.R.id.text1);
view.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
Log.d("NormalTextViewHolder", "onClick--> position = "
+ getPosition());
}
});
}
}
}

相关问题解决:

使用android.support.v7.widget.RecyclerView出现 java.lang.reflect.InvocationTargetException:http://www.cnblogs.com/zzw1994/p/5004564.html

RecyclerView的基本创建的更多相关文章

  1. Android之RecyclerView(一)

    概述 RecyclerView 是一个 ViewGroup,它用于渲染任何基于适配器的 View.它被官方定义为 ListView 和 GridView 的取代者,是在 Support V7 包中引入 ...

  2. Android RecyclerView的基本使用

    Android RecyclerView 在去年的Google I/O大会上就推出来了,以前经常使用的ListView 继承的是AbsListView,而RecyclerView则直接继承 ViewG ...

  3. 使用 RecyclerView

    使用 RecyclerView android RecyclerView tutorial 概述 与 ListView 的对比 RecyclerView 的组件 LayoutManager Recyc ...

  4. 似曾相识的 RecyclerView

    一.常用方法 RecyclerView 与 ListView.GridView 类似,都是可以显示同一种类型 View 的集合的控件. 首先看看最简单的用法,四步走: ①接入 build.gradle ...

  5. RecyclerView全面解析

    写在前面 起深入浅出这名字的时候我是慎重又慎重的,生怕被人骂标题党,写的什么破玩意还敢说深入浅出.所以还是请大家不要抱着太高的期望,因为没有期望就没有失望,就像陈润说的,超预期嘛.全当看小说的心情来看 ...

  6. 使用RecyclerView实现瀑布流的效果

    主函数: public class MainActivity extends AppCompatActivity { private RecyclerView recyclerView; privat ...

  7. [转]RecyclerView初探

    原文地址:http://www.grokkingandroid.com/first-glance-androids-recyclerview/ RecyclerView是去年谷歌I/O大会上随Andr ...

  8. Android RecyclerView体验(一)- 简介

    在网上关于RecyclerView的基本使用方式已经有了比较详细介绍,而且其设计结构也类似于ListView,所以本文将不重点介绍如何使用,在文末的引用中都可以相关内容.这里主要是介绍Recycler ...

  9. 将替代ListView的RecyclerView 的使用(一)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/by317966834/article/details/36205923 RecyclerView 是 ...

随机推荐

  1. esriSRProjCS3Type Constants

    ArcGIS Developer Help  (Geometry)   esriSRProjCS3Type Constants See Also esriSRProjCSType Constants ...

  2. [SQL]SQL中把一个字段的数据分多行显示

    其实你完全可以写个自定义函数就OK了 . =================================================================== create func ...

  3. font awesome的图标在WP8浏览器下无法显示的问题解决

    font awesome无疑是bootstrap上面做的很赞第三方图标 笔者最近做的一个项目,图标在iphone和安卓上面的浏览器上显示都无问题,偏偏WP8上的浏览器显示有问题 通过chrome的开发 ...

  4. Appium技术点之解决屏幕无法点击的情况————Python版本

    1.导入包: from appium.webdriver.common.touch_action import TouchAction 2.写代码 TouchAction(driver).pop(x= ...

  5. linux取某个字段排重

    排重统计 cat a.txt | awk -F ';' '{print $2}' | sort -u | wc -l

  6. mysql中字符集和校对规则

    首先,明确一下字符集和校对规则的概念:    字符集(charset):是一套符号和编码    校对规则(collation):是在字符集内用于比较字符的一套规则,比如有的规则区分大小写,有的则无视 ...

  7. android 控件描边取消重叠

    今天写组件的时候用到了描边.可是两个组件放在一起时,描边会变重叠,使之变粗.就不是很美观了. 如何取消呢?网上查了好久没找到,然后就自己试了试,找到了解决方法,就在此记录一下,防止以后忘记. 很简单分 ...

  8. 【EF 5】结合项目实战分析EF三大工作模式之—Database First

    导读:所谓的EF的Databasefirst工作模式,是目前我们(不涉及社会领域)用的最广的一种模式,也是本次ITOO开发所采用的工作模式.本篇博客,就分析在项目中通过Database First模式 ...

  9. sass sublime text 2 gulp ionic

    sass 安装1.全局安装 sass 我的Mac 所以不用再安装Ruby ,直接在终端输入 gem install sass 然后在终端中输入 sass -v 出现 Sass 3.4.8 (selec ...

  10. express 框架初步体验

    一. 安装express 1.打开cmd  全局安装express 输入:npm install -gd express 2. 安装命令行工具,不然你输入express 会出现 不是内部命令. 输入: ...