1、布局文件中使用

  <android.support.v7.widget.RecyclerView
android:id="@+id/recycleview"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
</android.support.v7.widget.RecyclerView>

2、代码中使用

   recyclerView = (RecyclerView)findViewById(R.id.recycleview);
recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 4)) ; //gridView网格布局
recyclerView.setLayoutManager(new LinearLayoutManager(this)); //listView线性布局

3、适配器

 package com.yiba.files.adapter;

 import android.content.Context;
import android.graphics.drawable.BitmapDrawable;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView; import com.yiba.files.R;
import com.yiba.files.model.DataItem;
import com.yiba.files.util.DensityUtils;
import com.yiba.files.util.DeviceUtils; import java.util.List; /**
* Created by ${zyj} on 2016/1/23.
*/
public class AppAdapter extends RecyclerView.Adapter<AppAdapter.MyViewHolder> {
private Context context;
private List<DataItem> list;
private RelativeLayout.LayoutParams params; public interface OnItemClickListener {
void onItemClick(View view, int position);
} private OnItemClickListener onItemClickListener; public void setOnItemClickListener(OnItemClickListener listener) {
onItemClickListener = listener;
} public AppAdapter(Context context, List<DataItem> list) {
this.context = context;
this.list = list;
} @Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
MyViewHolder holder = new MyViewHolder(LayoutInflater.from(context).inflate(
R.layout.fragment_app_item, null));
return holder;
} @Override
public void onBindViewHolder(final MyViewHolder holder,
final int position) {
DataItem info = list.get(position);
String tag = (String) holder.imageView.getTag(); if (!info.getName().equals(tag)) {
holder.imageView.setImageBitmap(((BitmapDrawable) list.get(position)
.getImage()).getBitmap());
holder.imageView.setTag(info.getName());
} if (info.isSelect()) {
holder.imageView.setAlpha(0.3f);
holder.appName.setAlpha(0.3f);
holder.appSize.setAlpha(0.3f);
holder.app_choice.setVisibility(View.VISIBLE);
} else {
holder.imageView.setAlpha(1.0f);
holder.appName.setAlpha(1.0f);
holder.appSize.setAlpha(1.0f);
holder.app_choice.setVisibility(View.GONE);
} holder.appName.setText(info.getDisplayName());
holder.appSize.setText("" + DeviceUtils.convertByte(info.getSize())); holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (onItemClickListener != null) {
int pos = holder.getLayoutPosition();
onItemClickListener.onItemClick(holder.itemView, pos);
}
}
});
} @Override
public int getItemCount() {
if (list != null) {
return list.size();
} else {
return 0;
}
} public DataItem getItem(int position) {
return list.get(position);
} class MyViewHolder extends RecyclerView.ViewHolder {
ImageView imageView;
ImageView app_choice;
TextView appName;
TextView appSize; public MyViewHolder(View view) {
super(view);
imageView = (ImageView) view.findViewById(R.id.appImage); params = (RelativeLayout.LayoutParams) imageView.getLayoutParams();
params.width = DensityUtils.getScreenWidth(context) / 6;
params.height = params.width;
imageView.setLayoutParams(params); appName = (TextView) view.findViewById(R.id.appName);
appSize = (TextView) view.findViewById(R.id.appSize);
app_choice = (ImageView) view.findViewById(R.id.appSelect_image);
}
}
}

更新数据

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1118/2004.html

RecyclerView的基本使用的更多相关文章

  1. RecyclerView使用大全

    RecylerView介绍 RecylerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,这一点从它的名字recyler ...

  2. 带你实现开发者头条APP(五)--RecyclerView下拉刷新上拉加载

    title: 带你实现开发者头条APP(五)--RecyclerView下拉刷新上拉加载 tags: -RecyclerView,下拉刷新,上拉加载更多 grammar_cjkRuby: true - ...

  3. 安卓易学,爬坑不易——腾讯老司机的RecyclerView局部刷新爬坑之路

    针对手游的性能优化,腾讯WeTest平台的Cube工具提供了基本所有相关指标的检测,为手游进行最高效和准确的测试服务,不断改善玩家的体验.目前功能还在免费开放中. 点击地址:http://wetest ...

  4. Android Studio开发RecyclerView遇到的各种问题以及解决(二)

    开发RecyclerView时候需要导入别人的例子,我的是从github导入的,下载下github的压缩包之后解压看你要导入的文件是priject还是Module.(一般有app文件夹的大部分是pro ...

  5. Android Studio开发RecyclerView遇到的各种问题以及解决(一)

    以前一直在用ListView,,,最近才看RecyclerView发现好强大.RecyclerView前提是Android版本在5.0以上,本人以前用的是eclipse只支持到4.4.索性就安装一个A ...

  6. Android的Kotlin秘方(II):RecyclerView 和 DiffUtil

    作者:Antonio Leiva 时间:Sep 12, 2016 原文链接:http://antonioleiva.com/recyclerview-diffutil-kotlin/ 如你所知,在[支 ...

  7. Android RecyclerView 实现支付宝首页效果

    Android RecyclerView 实现支付宝首页效果 [TOC] 虽然我本人不喜欢支付宝的,但是这个网格本身其实还是不错的,项目更新中更改了一个布局为网格模式,类似支付宝.(估计是产品抄袭的= ...

  8. Android开发学习之路-RecyclerView滑动删除和拖动排序

    Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开 ...

  9. 打造android偷懒神器———RecyclerView的万能适配器

    转载请注明出处谢谢:http://www.cnblogs.com/liushilin/p/5720926.html 很不好意思让大家久等了,本来昨天就应该写这个的,无奈公司昨天任务比较紧,所以没能按时 ...

  10. 安卓v7支持包下的ListView替代品————RecyclerView

    RecyclerView这个控件也出来很久了,相信大家也学习的差不多了,如果还没学习的,或许我可以带领大家体验一把这个艺术般的控件. 项目已经同步至github:https://github.com/ ...

随机推荐

  1. gulp 压缩js,css

    最近做的前端项目中发现引用的js包太多,导致页面加载时反应很慢,所以首先想到的是将js和css压缩,提高加载速度. 我们先来看看抓到的当前页面响应时间: 页面异步加载,需要响应时间 7.41秒,这也太 ...

  2. 实现iOS图片等资源文件的热更新化(四): 一个最小化的补丁更新逻辑

    简介 以前写过一个补丁更新的文章,此处会做一个更精简的最小化实现,以便于集成.为了使逻辑具有通用性,将剥离对AFNetworking和ReativeCocoa的依赖.原来的文章,可以先看这里: htt ...

  3. Hichart 资料收集

    Hichart简单使用Highcharts选项配置详细说明文档(zz) http://www.helloweba.com/view-blog-156.html  by 澳米科技 Highcharts提 ...

  4. C#中的可空值类型

    C# 不允许把 null 赋给一个值类型的数据.在 C# 中,以下语句是非法的: int a = null;    // 非法 但是,利用 C# 定义的一个修饰符,可将一个变量声明为一个可空(null ...

  5. asp.net中Ajax控件的用途(二)

    1.个人觉得对于新手最为实用的PopupControlExtender,弹出层载体,在实例中可以弹出登录框,百度的登陆页面基本都用的这种形式,可以把浮动的panel宽高都设置为100%,以屏蔽底层操作 ...

  6. 【SQL】靠谱的TRIM函数,附赠过程一枚

    SQL中有LTRIM和RTRIM这两个函数分别用于去除字符串的首.尾空格,缺乏常见的能同时去除首尾的TRIM函数,另外,这俩函数都只对[空格]有效,所以如果首尾是制表符.换行符等等[空白],它们是不处 ...

  7. 【CTO讲堂】以API为核心的移动应用云大发展时代

    摘要:CTO线上讲堂5月20日正式登场,CTO俱乐部首期邀请到APICloud联合创始人兼CTO邹达与C粉之家微信群友一起聊聊如何快速玩转App开发,分享技术人的职场成长. 为了帮助IT从业者职业之路 ...

  8. Failed to create the Java Virtual Machine.问题的解决

    运行Eclipse,出现了"Failed to create the Java Virtual Machine."错误: 解决的办法是在Eclipse的解压目录下找到eclipse ...

  9. pageEncoding的默认设置

    windows-->preference-->myeclipse-->files and editors-->jsp 右侧 Encoding 选择  ISO 10646/Uni ...

  10. Lucene.net站内搜索—4、搜索引擎第一版技术储备(简单介绍Log4Net、生产者消费者模式)

    目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...