Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
ShenghuoquanBusiness
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bp
ShenghuoquanBusiness
Commits
5176e97e
Commit
5176e97e
authored
Jun 23, 2021
by
yinjiacheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix SHQBD-228 商户管理中心下拉刷新优化
parent
92ca0ce7
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
154 additions
and
131 deletions
+154
-131
MerchantServiceFunctionAdapter.kt
...uan/newscontent/adapter/MerchantServiceFunctionAdapter.kt
+64
-65
MerchantServiceGroupAdapter.kt
...uoquan/newscontent/adapter/MerchantServiceGroupAdapter.kt
+23
-7
MerchantCenterActivity.kt
...nghuoquan/newscontent/ui/center/MerchantCenterActivity.kt
+67
-59
No files found.
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/adapter/MerchantServiceFunctionAdapter.kt
View file @
5176e97e
...
...
@@ -15,85 +15,84 @@ import com.yidian.shenghuoquan.newscontent.http.httpbean.GetConfigListBean
* description: 商户服务adapter
*/
class
MerchantServiceFunctionAdapter
@JvmOverloads
constructor
(
val
context
:
Context
,
data
:
List
<
GetConfigListBean
.
Function
>?
=
null
,
val
listener
:
OnItemClickListener
?
=
null
val
context
:
Context
,
data
:
List
<
GetConfigListBean
.
Function
>?
=
null
,
val
listener
:
OnItemClickListener
?
=
null
)
:
RecyclerView
.
Adapter
<
MerchantServiceFunctionAdapter
.
MerchantServiceViewHolder
>()
{
RecyclerView
.
Adapter
<
MerchantServiceFunctionAdapter
.
MerchantServiceViewHolder
>()
{
companion
object
{
// 是否显示标识
private
const
val
FUNCTION_SHOW
=
1
}
companion
object
{
// 是否显示标识
private
const
val
FUNCTION_SHOW
=
1
}
/**
* 数据源
*/
private
val
serviceData
by
lazy
{
ArrayList
<
GetConfigListBean
.
Function
>()
}
/**
* 数据源
*/
private
val
serviceData
by
lazy
{
ArrayList
<
GetConfigListBean
.
Function
>()
}
private
lateinit
var
viewBinding
:
ItemMerchantServiceFunctionBinding
private
lateinit
var
viewBinding
:
ItemMerchantServiceFunctionBinding
init
{
// 将不显示的数据去除
data
?.
let
{
(
it
as
ArrayList
<
GetConfigListBean
.
Function
>).
iterator
().
apply
{
while
(
hasNext
())
{
if
(
next
().
show
!=
FUNCTION_SHOW
)
remove
()
}
}
serviceData
.
addAll
(
it
)
init
{
// 将不显示的数据去除
data
?.
let
{
(
it
as
ArrayList
<
GetConfigListBean
.
Function
>).
iterator
().
apply
{
while
(
hasNext
())
{
if
(
next
().
show
!=
FUNCTION_SHOW
)
remove
()
}
}
serviceData
.
addAll
(
it
)
}
}
/**
* 更新数据 将不显示的数据去除
*/
fun
updateData
(
data
:
List
<
GetConfigListBean
.
Function
>?)
{
data
?.
let
{
serviceData
.
clear
()
(
it
as
ArrayList
<
GetConfigListBean
.
Function
>).
iterator
().
apply
{
while
(
hasNext
())
{
if
(
next
().
show
!=
FUNCTION_SHOW
)
remove
()
}
}
serviceData
.
addAll
(
it
)
notifyDataSetChanged
()
/**
* 更新数据 将不显示的数据去除
*/
fun
updateData
(
data
:
List
<
GetConfigListBean
.
Function
>?)
{
data
?.
let
{
serviceData
.
clear
()
(
it
as
ArrayList
<
GetConfigListBean
.
Function
>).
iterator
().
apply
{
while
(
hasNext
())
{
if
(
next
().
show
!=
FUNCTION_SHOW
)
remove
()
}
}
serviceData
.
addAll
(
it
)
notifyDataSetChanged
()
}
}
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
MerchantServiceViewHolder
{
viewBinding
=
ItemMerchantServiceFunctionBinding
.
inflate
(
LayoutInflater
.
from
(
parent
.
context
),
parent
,
false
)
return
MerchantServiceViewHolder
(
viewBinding
.
root
,
viewBinding
)
}
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
MerchantServiceViewHolder
{
viewBinding
=
ItemMerchantServiceFunctionBinding
.
inflate
(
LayoutInflater
.
from
(
parent
.
context
),
parent
,
false
)
return
MerchantServiceViewHolder
(
viewBinding
.
root
,
viewBinding
)
}
override
fun
onBindViewHolder
(
holder
:
MerchantServiceViewHolder
,
position
:
Int
)
{
val
data
=
serviceData
[
position
]
if
(
data
.
show
!=
FUNCTION_SHOW
)
return
if
(
data
.
icon_url
.
isNotEmpty
())
{
Glide
.
with
(
context
).
load
(
data
.
icon_url
).
into
(
viewBinding
.
ivService
)
}
else
{
// TODO: 6/11/21 显示本地icon
}
holder
.
viewBinding
.
tvService
.
text
=
data
.
function_name
holder
.
viewBinding
.
root
.
setOnClickListener
{
listener
?.
onItemClick
(
it
,
position
,
data
)
}
override
fun
onBindViewHolder
(
holder
:
MerchantServiceViewHolder
,
position
:
Int
)
{
val
data
=
serviceData
[
position
]
if
(
data
.
icon_url
.
isNotEmpty
())
{
Glide
.
with
(
context
).
load
(
data
.
icon_url
).
into
(
viewBinding
.
ivService
)
}
else
{
// TODO: 6/11/21 显示本地icon
}
holder
.
viewBinding
.
tvService
.
text
=
data
.
function_name
holder
.
viewBinding
.
root
.
setOnClickListener
{
listener
?.
onItemClick
(
it
,
position
,
data
)
}
}
override
fun
getItemCount
():
Int
{
return
serviceData
.
size
}
override
fun
getItemCount
():
Int
{
return
serviceData
.
size
}
class
MerchantServiceViewHolder
(
itemView
:
View
,
val
viewBinding
:
ItemMerchantServiceFunctionBinding
)
:
RecyclerView
.
ViewHolder
(
itemView
)
class
MerchantServiceViewHolder
(
itemView
:
View
,
val
viewBinding
:
ItemMerchantServiceFunctionBinding
)
:
RecyclerView
.
ViewHolder
(
itemView
)
interface
OnItemClickListener
{
fun
onItemClick
(
view
:
View
,
position
:
Int
,
data
:
GetConfigListBean
.
Function
)
}
interface
OnItemClickListener
{
fun
onItemClick
(
view
:
View
,
position
:
Int
,
data
:
GetConfigListBean
.
Function
)
}
}
\ No newline at end of file
}
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/adapter/MerchantServiceGroupAdapter.kt
View file @
5176e97e
...
...
@@ -40,14 +40,29 @@ class MerchantServiceGroupAdapter @JvmOverloads constructor(
init
{
// 将不显示的数据去除
data
?.
let
{
it
.
forEach
{
menuI
tem
->
if
(
menuI
tem
.
show
==
GROUP_SHOW
)
{
groupData
.
add
(
menuI
tem
)
it
.
forEach
{
i
tem
->
if
(
i
tem
.
show
==
GROUP_SHOW
)
{
groupData
.
add
(
i
tem
)
}
}
}
}
/**
* 刷新数据
*/
fun
updateData
(
data
:
List
<
GetConfigListBean
.
Item
>?)
{
groupData
.
clear
()
data
?.
let
{
it
.
forEach
{
item
->
if
(
item
.
show
==
GROUP_SHOW
)
{
groupData
.
add
(
item
)
}
}
}
notifyDataSetChanged
()
}
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
...
...
@@ -58,15 +73,16 @@ class MerchantServiceGroupAdapter @JvmOverloads constructor(
parent
,
false
)
return
MerchantServiceGroupViewHolder
(
viewBinding
.
root
,
viewBinding
)
val
holder
=
MerchantServiceGroupViewHolder
(
viewBinding
.
root
,
viewBinding
)
// ViewHolder禁止复用
holder
.
setIsRecyclable
(
false
)
return
holder
}
override
fun
onBindViewHolder
(
holder
:
MerchantServiceGroupViewHolder
,
position
:
Int
)
{
val
data
=
groupData
[
position
]
if
(
data
.
show
!=
GROUP_SHOW
)
return
holder
.
viewBinding
.
tvTitle
.
text
=
data
.
group_name
viewBinding
.
rvService
.
layoutManager
=
GridLayoutManager
(
context
,
4
)
viewBinding
.
rvService
.
layoutManager
=
GridLayoutManager
(
context
,
4
)
viewBinding
.
rvService
.
adapter
=
MerchantServiceFunctionAdapter
(
context
,
data
.
functions
,
listener
)
}
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/center/MerchantCenterActivity.kt
View file @
5176e97e
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment