Skip to content

Commit 73eadd4

Browse files
committed
获取对应的ViewHolder 等示例完善
1 parent 1023156 commit 73eadd4

File tree

2 files changed

+53
-5
lines changed

2 files changed

+53
-5
lines changed

use/libs/ui/lib-adapter.md

+53-1
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,56 @@ implementation 'com.bihe0832.android:lib-adapter:+'
4242

4343
### CardBaseModule
4444

45-
- 所有卡片对应的数据都继承自该类
45+
- 所有卡片对应的数据都继承自该类
46+
47+
## 特殊用法(示例仅供参考)
48+
49+
- 根据位置,获取对应的ViewHolder:
50+
51+
```
52+
mRecyclerView.findViewHolderForAdapterPosition(newposition)?.let {viewHolder ->
53+
ZixieContext.showDebug("Test onActive:" + viewHolder.javaClass.name)
54+
}
55+
```
56+
57+
- 根据位置,修改数据并且直接刷新UI:
58+
59+
```
60+
mRecyclerView.findViewHolderForAdapterPosition(newposition)?.let {viewHolder ->
61+
(mAdapter.data[newposition] as CardBaseModule ).apply{
62+
63+
}.let{
64+
(viewHolder as CardBaseHolder).initData(mAdapter.data[newposition])
65+
}
66+
}
67+
```
68+
69+
- 根据特征值获取位置后,修改数据并且直接刷新UI,示例来自:https://github.com/bihe0832/AndroidAppFactory/blob/master/CommonAbout/src/main/java/com/bihe0832/android/common/about/AboutFragment.kt
70+
71+
```
72+
var position: Int = -1
73+
val title = context?.resources?.getString(R.string.settings_update_title)
74+
for (i in mAdapter.data.indices) {
75+
if (mAdapter.data[i] is SettingsData && title == (mAdapter.data[i] as? SettingsData)?.mItemText) {
76+
position = i
77+
break
78+
}
79+
}
80+
81+
if (position >= 0) {
82+
(mAdapter.data[position] as? SettingsData)?.apply {
83+
if (null != cloud && cloud.updateType > UpdateDataFromCloud.UPDATE_TYPE_HAS_NEW_JUMP) {
84+
mTipsText = context?.resources?.getString(R.string.settings_update_tips)
85+
?: ""
86+
mItemIsNew = true
87+
} else {
88+
mTipsText = ""
89+
mItemIsNew = false
90+
}
91+
}?.let { newData ->
92+
mRecyclerView?.findViewHolderForAdapterPosition(position).let { viewHolder ->
93+
(viewHolder as? CardBaseHolder)?.initData(newData)
94+
}
95+
}
96+
}
97+
```

use/libs/ui/lib-permission.md

-4
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,3 @@ implementation 'com.bihe0832.android:lib-permission:+'
4545
### FloatPermissionWrapper
4646

4747
- 悬浮窗权限的检查方法
48-
49-
### UniqueDialogManager
50-
51-
- 支持过滤重复弹框的弹框管理

0 commit comments

Comments
 (0)