博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android-基础编程-RecyclerView
阅读量:5945 次
发布时间:2019-06-19

本文共 2013 字,大约阅读时间需要 6 分钟。

以后android-基础编程*都是控件demo里面的,不再累赘重写。直接介绍控件使用。

RecyclerView is a more advanced and flexible version of ListView. This widget is a Container for large sets of views that can be recycled and scrolled very efficiently.RecyclerView从2014年发布.位于android.support.v7.widget.RecyclerView中。

1.android studio配置RecyclerView库代码

在gradle中加入

compile 'com.android.support:recyclerview-v7:23.+'

2.定义布局中使用

还要recycleview的item的布局:

3.在RcyclerViewActi中使用

a.加载view布局:

recyclerView = (RecyclerView) findViewById(R.id.recycle_view);

 

b.设置布局管理LayoutManager

recyclerView.setLayoutManager(new LinearLayoutManager(this));

目前SDK中提供了三种自带的LayoutManager,分别是线程、网格、瀑布式布局管理器:

  • LinearLayoutManager

  • GridLayoutManager

  • StaggeredGridLayoutManager

c.配置数据源

adapter = new RecyclerAdapter(this);adapter.setData(mDatas);//必须指定adaoterrecyclerView.setAdapter(adapter);

 4.点击事件,recycler不支持点击事件,需要自己实现

 a.在adapter定义接口实现如下:

public static interface OnRecyclerViewItemClickListener {        void onItemClick(View view , int pos);    }    // 2 添加接口和设置接口的方法    private OnRecyclerViewItemClickListener mOnItemClickListener = null;    public void setOnItemClickListener(OnRecyclerViewItemClickListener listener) {        this.mOnItemClickListener = listener;  }

b.adater implement view的点击事件

@Overridepublic void onClick(View v) {        //Toast.makeText(get, "默认Toast样式").show();        Log.d("zcx","test");        if (mOnItemClickListener != null) {            //调用onitemclick            mOnItemClickListener.onItemClick(v,1);}

c.调用onitemclick

adapter.setOnItemClickListener(new RecyclerAdapter.OnRecyclerViewItemClickListener()        {            @Override            public void onItemClick(View view, int pos) {                //DO your fucking bussiness here!                adapter.addData(1);                Toast.makeText(getApplicationContext(),"zcx"+pos,Toast.LENGTH_LONG).show();            } });

5.item的动画效果:

recyclerView.setItemAnimator(new DefaultItemAnimator());

最后的实验结果如下:

 

转载于:https://www.cnblogs.com/zCoderJoy/p/6512294.html

你可能感兴趣的文章
Unable to get the CMake version located at
查看>>
爬虫基本原理
查看>>
Heritage from father
查看>>
css选择器
查看>>
使用多线程
查看>>
Django--Uploaded Files以及Handlers
查看>>
在IIS(64位)上部署WCF服务访问Oracle数据库
查看>>
个人在 laravel 开发中使用到的一些技巧(持续更新)
查看>>
iOS之KVO
查看>>
数组的代替品
查看>>
BZOJ-1878: [SDOI2009]HH的项链(莫队算法)
查看>>
Python3 定时访问网页
查看>>
两种算法解决查找子串的问题:hdu1711
查看>>
老板,让我们专注的工作【写给老板的一封信】
查看>>
LBS突围:从微信到微博
查看>>
SFB 项目经验-40-Skype for Business-呼入正常-呼出不正常
查看>>
吴忌寒江卓尔批“闪电网络”背后,是链圈和矿圈的的利益之争
查看>>
python的cls,self,classmethod,staticmethod
查看>>
应用系统中常见报表类型解析
查看>>
[Silverlight入门系列]使用MVVM模式(9): 想在ViewModel中控制Storyboard动画?
查看>>