线性显示 类似于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

最新文章

  1. 利用Netty构建自定义协议的通信
  2. web应用 http 响应 url uri
  3. Linux下chkconfig命令详解
  4. Pipe
  5. 传引用 C(转)
  6. 【java 上传+下载】
  7. asp.net 获取当前项目的根目录路径
  8. 常用sql时间字符转化
  9. Cobra —— 可视化Python虚拟机 and 图解python
  10. 团体程序设计天梯赛-练习集L2-001. 紧急救援(dijkstra)
  11. 运行phpize失败排查
  12. 网络编程-pcap数据包格式
  13. String类中几个简单的常用方法
  14. SQL高级查询的练习题
  15. Ubuntu各个版本支持时间
  16. scrollTop的兼容性
  17. linux平台,对线程等待和唤醒操作的封装(pthread_cond_timedwait 用法详解)
  18. LeeCX - 开源后台管理系统简单介绍
  19. 第一次学习手游开发:Flappy Bird制作
  20. 编写一种递归方法,它返回数N的二进制中表示1的个数。

热门文章

  1. java重写
  2. python学习笔记(递归函数)
  3. Android开发-API指南-&lt;permission-group&gt;
  4. Flex4 自定义分页组件
  5. com学习(五)——实现多接口
  6. 辅助的写与数据库交互的XML文件的类
  7. 在Win7下要通过某个 线程 来调用SavaDialog文件选择框的问题
  8. windows svn
  9. 【MySQL】MySQL回滚工具
  10. solr5.5教程-tomcat布署