Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
儿歌八万首
BaseRecyclerViewAdapterHelper
提交
782b8de4
B
BaseRecyclerViewAdapterHelper
项目概览
儿歌八万首
/
BaseRecyclerViewAdapterHelper
与 Fork 源项目一致
从无法访问的项目Fork
通知
4
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
B
BaseRecyclerViewAdapterHelper
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
782b8de4
编写于
1月 12, 2021
作者:
limuyang2
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
perf: BaseQuickAdapter 代码整理;
update kotlin 1.4.21; 去除 `weakRecyclerview` 属性;
上级
bfc16a53
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
22 addition
and
53 deletion
+22
-53
build.gradle
build.gradle
+1
-1
library/build.gradle
library/build.gradle
+2
-0
library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.kt
...in/java/com/chad/library/adapter/base/BaseQuickAdapter.kt
+15
-22
library/src/main/java/com/chad/library/adapter/base/listener/BaseListenerImp.java
...m/chad/library/adapter/base/listener/BaseListenerImp.java
+0
-26
library/src/main/java/com/chad/library/adapter/base/listener/OnItemChildLongClickListener.java
...y/adapter/base/listener/OnItemChildLongClickListener.java
+1
-1
library/src/main/java/com/chad/library/adapter/base/listener/OnItemLongClickListener.java
...ibrary/adapter/base/listener/OnItemLongClickListener.java
+1
-1
library/src/main/java/com/chad/library/adapter/base/module/LoadMoreModule.kt
...va/com/chad/library/adapter/base/module/LoadMoreModule.kt
+2
-2
未找到文件。
build.gradle
浏览文件 @
782b8de4
buildscript
{
ext
.
kotlin_version
=
'1.4.
10
'
ext
.
kotlin_version
=
'1.4.
21
'
repositories
{
google
()
jcenter
()
...
...
library/build.gradle
浏览文件 @
782b8de4
...
...
@@ -42,5 +42,7 @@ task sourcesJar(type: Jar) {
dependencies
{
implementation
fileTree
(
include:
[
'*.jar'
],
dir:
'libs'
)
implementation
"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation
'androidx.annotation:annotation:1.1.0'
compileOnly
'androidx.recyclerview:recyclerview:1.1.0'
}
library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.kt
浏览文件 @
782b8de4
...
...
@@ -26,7 +26,6 @@ import com.chad.library.adapter.base.listener.*
import
com.chad.library.adapter.base.module.*
import
com.chad.library.adapter.base.util.getItemView
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
import
java.lang.ref.WeakReference
import
java.lang.reflect.Constructor
import
java.lang.reflect.InvocationTargetException
import
java.lang.reflect.Modifier
...
...
@@ -75,7 +74,7 @@ private interface BaseQuickAdapterModuleImp {
abstract
class
BaseQuickAdapter
<
T
,
VH
:
BaseViewHolder
>
@JvmOverloads
constructor
(
@LayoutRes
private
val
layoutResId
:
Int
,
data
:
MutableList
<
T
>?
=
null
)
:
RecyclerView
.
Adapter
<
VH
>(),
BaseQuickAdapterModuleImp
,
BaseListenerImp
{
:
RecyclerView
.
Adapter
<
VH
>(),
BaseQuickAdapterModuleImp
{
companion
object
{
const
val
HEADER_VIEW
=
0x10000111
...
...
@@ -174,20 +173,15 @@ abstract class BaseQuickAdapter<T, VH : BaseViewHolder>
private
var
mDraggableModule
:
BaseDraggableModule
?
=
null
internal
var
mLoadMoreModule
:
BaseLoadMoreModule
?
=
null
@Deprecated
(
"Please use recyclerView"
,
replaceWith
=
ReplaceWith
(
"recyclerView"
))
lateinit
var
weakRecyclerView
:
WeakReference
<
RecyclerView
>
var
recyclerViewOrNull
:
RecyclerView
?
=
null
private
set
internal
var
mRecyclerView
:
RecyclerView
?
=
null
var
recyclerView
:
RecyclerView
set
(
value
)
{
mRecyclerView
=
value
}
val
recyclerView
:
RecyclerView
get
()
{
checkNotNull
(
mRecyclerView
)
{
checkNotNull
(
recyclerViewOrNull
)
{
"Please get it after onAttachedToRecyclerView()"
}
return
mRecyclerView
!!
return
recyclerViewOrNull
!!
}
val
context
:
Context
...
...
@@ -422,8 +416,7 @@ abstract class BaseQuickAdapter<T, VH : BaseViewHolder>
override
fun
onAttachedToRecyclerView
(
recyclerView
:
RecyclerView
)
{
super
.
onAttachedToRecyclerView
(
recyclerView
)
weakRecyclerView
=
WeakReference
(
recyclerView
)
mRecyclerView
=
recyclerView
recyclerViewOrNull
=
recyclerView
mDraggableModule
?.
attachToRecyclerView
(
recyclerView
)
...
...
@@ -455,7 +448,7 @@ abstract class BaseQuickAdapter<T, VH : BaseViewHolder>
override
fun
onDetachedFromRecyclerView
(
recyclerView
:
RecyclerView
)
{
super
.
onDetachedFromRecyclerView
(
recyclerView
)
mRecyclerView
=
null
recyclerViewOrNull
=
null
}
protected
open
fun
isFixedViewType
(
type
:
Int
):
Boolean
{
...
...
@@ -766,7 +759,7 @@ abstract class BaseQuickAdapter<T, VH : BaseViewHolder>
* bind [RecyclerView.setAdapter] before use!
*/
fun
getViewByPosition
(
position
:
Int
,
@IdRes
viewId
:
Int
):
View
?
{
val
recyclerView
=
mRecyclerView
?:
return
null
val
recyclerView
=
recyclerViewOrNull
?:
return
null
val
viewHolder
=
recyclerView
.
findViewHolderForLayoutPosition
(
position
)
as
BaseViewHolder
?
?:
return
null
return
viewHolder
.
getViewOrNull
(
viewId
)
...
...
@@ -1038,7 +1031,7 @@ abstract class BaseQuickAdapter<T, VH : BaseViewHolder>
}
fun
setEmptyView
(
layoutResId
:
Int
)
{
mRecyclerView
?.
let
{
recyclerViewOrNull
?.
let
{
val
view
=
LayoutInflater
.
from
(
it
.
context
).
inflate
(
layoutResId
,
it
,
false
)
setEmptyView
(
view
)
}
...
...
@@ -1370,23 +1363,23 @@ abstract class BaseQuickAdapter<T, VH : BaseViewHolder>
/************************************** Set Listener ****************************************/
override
fun
setGridSpanSizeLookup
(
spanSizeLookup
:
GridSpanSizeLookup
?)
{
fun
setGridSpanSizeLookup
(
spanSizeLookup
:
GridSpanSizeLookup
?)
{
this
.
mSpanSizeLookup
=
spanSizeLookup
}
override
fun
setOnItemClickListener
(
listener
:
OnItemClickListener
?)
{
fun
setOnItemClickListener
(
listener
:
OnItemClickListener
?)
{
this
.
mOnItemClickListener
=
listener
}
override
fun
setOnItemLongClickListener
(
listener
:
OnItemLongClickListener
?)
{
fun
setOnItemLongClickListener
(
listener
:
OnItemLongClickListener
?)
{
this
.
mOnItemLongClickListener
=
listener
}
override
fun
setOnItemChildClickListener
(
listener
:
OnItemChildClickListener
?)
{
fun
setOnItemChildClickListener
(
listener
:
OnItemChildClickListener
?)
{
this
.
mOnItemChildClickListener
=
listener
}
override
fun
setOnItemChildLongClickListener
(
listener
:
OnItemChildLongClickListener
?)
{
fun
setOnItemChildLongClickListener
(
listener
:
OnItemChildLongClickListener
?)
{
this
.
mOnItemChildLongClickListener
=
listener
}
...
...
library/src/main/java/com/chad/library/adapter/base/listener/BaseListenerImp.java
已删除
100644 → 0
浏览文件 @
bfc16a53
package
com.chad.library.adapter.base.listener
;
import
androidx.annotation.Nullable
;
/**
* @author: limuyang
* @date: 2019-12-03
* @Description: BaseQuickAdapter需要设置的接口。使用java定义,以兼容java写法
*/
public
interface
BaseListenerImp
{
/**
* Register a callback to be invoked when an item in this RecyclerView has
* been clicked.
*
* @param listener The callback that will be invoked.
*/
void
setOnItemClickListener
(
@Nullable
OnItemClickListener
listener
);
void
setOnItemLongClickListener
(
@Nullable
OnItemLongClickListener
listener
);
void
setOnItemChildClickListener
(
@Nullable
OnItemChildClickListener
listener
);
void
setOnItemChildLongClickListener
(
@Nullable
OnItemChildLongClickListener
listener
);
void
setGridSpanSizeLookup
(
@Nullable
GridSpanSizeLookup
spanSizeLookup
);
}
library/src/main/java/com/chad/library/adapter/base/listener/OnItemChildLongClickListener.java
浏览文件 @
782b8de4
...
...
@@ -21,5 +21,5 @@ public interface OnItemChildLongClickListener {
* @param position The position of the view int the adapter
* @return true if the callback consumed the long click ,false otherwise
*/
boolean
onItemChildLongClick
(
@NonNull
BaseQuickAdapter
adapter
,
@NonNull
View
view
,
int
position
);
boolean
onItemChildLongClick
(
@NonNull
BaseQuickAdapter
<?,?>
adapter
,
@NonNull
View
view
,
int
position
);
}
library/src/main/java/com/chad/library/adapter/base/listener/OnItemLongClickListener.java
浏览文件 @
782b8de4
...
...
@@ -21,5 +21,5 @@ public interface OnItemLongClickListener {
* @param position The position of the view int the adapter
* @return true if the callback consumed the long click ,false otherwise
*/
boolean
onItemLongClick
(
@NonNull
BaseQuickAdapter
adapter
,
@NonNull
View
view
,
int
position
);
boolean
onItemLongClick
(
@NonNull
BaseQuickAdapter
<?,?>
adapter
,
@NonNull
View
view
,
int
position
);
}
library/src/main/java/com/chad/library/adapter/base/module/LoadMoreModule.kt
浏览文件 @
782b8de4
...
...
@@ -176,7 +176,7 @@ open class BaseLoadMoreModule(private val baseQuickAdapter: BaseQuickAdapter<*,
*/
private
fun
invokeLoadMoreListener
()
{
loadMoreStatus
=
LoadMoreStatus
.
Loading
baseQuickAdapter
.
mRecyclerView
?.
let
{
baseQuickAdapter
.
recyclerViewOrNull
?.
let
{
it
.
post
{
mLoadMoreListener
?.
onLoadMore
()
}
}
?:
mLoadMoreListener
?.
onLoadMore
()
}
...
...
@@ -194,7 +194,7 @@ open class BaseLoadMoreModule(private val baseQuickAdapter: BaseQuickAdapter<*,
}
// 先把标记位设置为false
mNextLoadEnable
=
false
val
recyclerView
=
baseQuickAdapter
.
mRecyclerView
?:
return
val
recyclerView
=
baseQuickAdapter
.
recyclerViewOrNull
?:
return
val
manager
=
recyclerView
.
layoutManager
?:
return
if
(
manager
is
LinearLayoutManager
)
{
recyclerView
.
postDelayed
({
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录