RecyclerView(4)简单示例
1,RecyclerViewFrgmt
import com.example.adapter.R; import android.app.Fragment; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class RecyclerViewFrgmt extends Fragment { RecyclerView mRecyclerView; RecyclerAdapter mAdapter; String[] dataset; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.frgmt_recycler_view_adapter, container,false); mRecyclerView = (RecyclerView) v.findViewById(R.id.recyclerView); LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); // layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);//可以设置recyler view 为横向 // 设置布局管理器 mRecyclerView.setLayoutManager(layoutManager); dataset = ]; ; i < dataset.length; i++){ dataset[i] = "item" + i; } mAdapter = new RecyclerAdapter(dataset); mRecyclerView.setAdapter(mAdapter); return v; } }
2,RecyclerAdapter
import com.example.adapter.R; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.Adapter; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; public class RecyclerAdapter extends Adapter<RecyclerAdapter.ViewHolder> { private String[] mDataset;//数据 //关键部分,每个item的holder public static class ViewHolder extends RecyclerView.ViewHolder {// public ImageView mIcon; public TextView mContent; public Button mBtn; public ViewHolder(View itemView) { 20 super(itemView); 21 mIcon = (ImageView) itemView.findViewById(R.id.recycler_view_icon); 22 mContent = (TextView) itemView.findViewById(R.id.recycler_view_content); 23 mBtn = (Button) itemView.findViewById(R.id.recycler_view_btn); } } public RecyclerAdapter(String[] dataset) { mDataset = dataset; } @Override public int getItemCount() { return mDataset.length; } //把数据和 view holder绑定 @Override public void onBindViewHolder(final ViewHolder holder, final int position) { holder.mContent.setText(mDataset[position]); holder.mBtn.setText("button" + position); holder.mBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { System.out.println("btn"); holder.mContent.setText("button" + position); } }); } //创建一个view holder @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { //1,inflater一个view View view = View.inflate(parent.getContext(),R.layout.recycler_view_item, null); //2,将view传给holder ViewHolder holder = new ViewHolder(view); return holder; } }
3,使用recyclerview的主布局 frgmt_recycler_view_adapter.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <android.support.v7.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
4,每个item的布局 recycler_view_item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <ImageView android:id="@+id/recycler_view_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/ic_child2" /> <TextView android:id="@+id/recycler_view_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="TextView" /> <Button android:id="@+id/recycler_view_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button" /> </LinearLayout>
RecyclerView(4)简单示例的更多相关文章
- Linux下的C Socket编程 -- server端的简单示例
Linux下的C Socket编程(三) server端的简单示例 经过前面的client端的学习,我们已经知道了如何创建socket,所以接下来就是去绑定他到具体的一个端口上面去. 绑定socket ...
- C# 构建XML(简单示例)
C# 构建XML的简单示例: var pars = new Dictionary<string, string> { {"url","https://www. ...
- 根据juery CSS点击一个标签弹出一个遮罩层的简单示例
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- ACEXML解析XML文件——简单示例程序
掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...
- demo工程的清单文件及activity中api代码简单示例
第一步注册一个账户,并创建一个应用.获取app ID与 app Key. 第二步下载sdk 第三步新建工程,修改清单文件,导入相关的sdk文件及调用相应的api搞定. 3.1 修改清单文件,主要是加入 ...
- spring-servlet.xml简单示例
spring-servlet.xml简单示例 某个项目中的spring-servlet.xml 记下来以后研究用 <!-- springMVC简单配置 --> <?xml versi ...
- SignalR 简单示例
一.什么是 SignalR ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of add ...
- Web API 简单示例
一.RESTful和Web API Representational State Transfer (REST) is a software architecture style consisting ...
- XML引入多scheme文件约束简单示例
XML引入多scheme文件约束简单示例,用company.xsd和department.xsd来约束company.xml: company.xsd <?xml version="1 ...
随机推荐
- python之库组织
python可重用代码库的组织依赖二个概念: 1. 模块 module 2. 函数 function 没有Java哪么灵活的包概念, 比较偏近C++的namespace.
- IOS开发之──应用之间调用(2)
在上一篇文章中,讲解了如何在自己应用之间调用问题,今天介绍一下如果调用IOS自带的app的方法 一.调用app store界面方法 在实际开发中,往往要推荐自己其他应用和推荐自己的收费软件,那么我们就 ...
- JPA学习---第二节:JPA开发环境和思想介绍
一.下载相关 jar http://hibernate.org/orm/ 下载 hibernate ,解压 http://www.slf4j.org/download.html 下载 slf4j,解压 ...
- PVPGN 暗黑破坏神2 1.11b战网配置问题汇总
写了第一篇配置指南之后,很多人向我咨询有关战网搭建的问题.于是觉得很有必要把若干常见的问题,和常用的进阶配置汇总一下,以方便更多人. 1.游戏版本和PVPGN与D2GS版本的问题. PVPGN建议选择 ...
- C++实现简单的内存池
多进程编程多用在并发服务器的编写上,当收到一个请求时,服务器新建一个进程处理请求,同时继续监听.为了提高响应速度,服务器采用进程池的方法,在初始化阶段创建一个进程池,池中有许多预创建的进程,当请求到达 ...
- ./configure --prefix=
一直用这个选项prefix=,但不知道,啥意思. 转载自:----------------------------------------------------------------------- ...
- JavaScript高级---适配器模式
一.设计模式 javascript里面给我们提供了很多种设计模式: 工厂.桥.组合.门面.适配器.装饰者.享元.代理.观察者.命令.责任链 在前面我们实现了工厂模式和桥模式 工厂模式 : 核心:为了生 ...
- Java Servlet Filter(转)
做web开发的人对于Filter应该不会陌生,一直在很简单的使用,但是一直没有系统的总结一下,随着年纪的慢慢长大,喜欢总结一些事情,下面说说我对Filter的理解,官方给出的Filter的定义是在请求 ...
- hdu 2940
简单的大数乘法,直接改16进制~~ #include <cstdio> #include <cstdlib> #include <cmath> #include & ...
- linux源码阅读笔记 数组定义
在阅读linux源码的过程中遇到了下面的略显奇怪的结构体数组定义. static struct hd_struct{ long start_sect; long nr_sects; }hd[10]={ ...