RecyclerView的点击事件处理

ListView和GridView提供了OnItemClickListener和OnItemLongClickListener监听器,然而查找RecyclerView的API却没有类似的监听器,因此我们需要自己手动处理它的点击事件。

方法一:利用View.OnClickListener及OnLongClickListener

利用Java回调机制,依赖子Item View的OnClickListener及OnLongClickListener。

RecyclerView基础总结

关联类

  • 1、RecyclerView.Adapter: 抽象类,为RecyclerView提供数据,一般根据不同的业务需求来编写具体的实现类。
  • 2、RecyclerView.LayoutManager: 抽象类,主要用于测量RecyclerView的子Item,以及根据不同的布局方式来实现Item的布局效果,v7包自带的实现类有:LinearLayoutManager、StaggeredGridLayoutManager、GridLayoutManager。
  • 3、RecyclerView.ItemDecoration: 抽象类,主要用于不同的Item之间添加分割线(可选)。官方没有实现类,所以如果要添加分割线,需要手动实现这个抽象类。
  • 4、RecyclerView.ItemAnimator: 抽象类,主要用于当一个item添加或者删除的时候出现的动画效果,官方提供一个默认的实现类。如果想要使我们的RecyclerView在添加、删除数据的时候有炫酷的动画,可以实现这个抽象类。

Android ListView addScrapView ArrayIndexOutOfBoundsException

使用ListView自定义Adapter时出现ArrayIndexOutOfBoundsException错误:

1
2
3
4
5
6
java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:5996)
at android.widget.AbsListView.trackMotionScroll(AbsListView.java:4554)
at android.widget.AbsListView$FlingRunnable.run(AbsListView.java:3874)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)

Android如何区分debug和release两种状态

BuildConfig.DEBUG

Android开发中识别debug还是release状态还是很有用的,比如说打印日志,有些日志开发的时候需要,可是线上正式包不需要,这时知道debug状态就可以很方便的隐藏非必要日志而又不影响开发。

一般使用BuildConfig.DEBUG来获取应用的状态,debug包返回true, release返回false

但是在主Moudle里是好使的,在Library里面,无论是debug包还是release都是返回false


Powered by Hexo and Hexo-theme-hiker

Copyright © 2012 - 2021 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :