Comments (4)
My conclusion is: No.
If an Items
container has many types of Item
s, our position would be meaningless. Because it should be in the same position, so it could makes sense.
And if you really need a position param, my suggestion is that: You can extend MultiTypeAdapter
and ItemViewProvider
to achieve. It will serve as a concrete use case.
from multitype.
Chinese version:
"我们是否需要传递 position 到 provider 层面?"
我觉得是不需要,首先几乎所有需要 position 的需求,都可以 以不需要 position 的方式实现;其次,position 造成了耦合、对外依赖;而且,因为我们的 Items 容器中可能有多种类型的 items,如果直接取在 Items 中的位置,这是没有意义的,我们需要的是它们在同类中的位置;最后,如果你实在需要 position,完全可以通过继承源码来实现,MultiType 几乎所有的部件都是可拓展可替换的,我们不应该直接去修改源码。
from multitype.
上次说到 MultiType 是否需要给 ViewProvider 传递 position 的事情,我找到了许多理由来支持"不需要",但实际上有一种情况下很可能是需要的,就是当 item type 只有一种的时候,于是我继承了 MultiTypeAdapter 非常容易地自行传递了 position,如图。position 主要用于判断是否是第一个 item,如果是,将 item 的顶部加上圆角度数。
from multitype.
最终,在 2.3.0 加入了获取 position 接口方法:
- Added
getPosition()
toItemViewProvider
(#43):
/**
* Get the adapter position of current item,
* the internal position is equals RecyclerView.ViewHolder#getAdapterPosition().
*
* @return the adapter position
* @since v2.3.0
*/
protected final int getPosition() {
return position;
}
from multitype.
Related Issues (20)
- ViewDelegate#getAdapterPosition NPE
- 嵌套使用,ItemViewDelegate对象出现多次重复加载,一直死循环。 HOT 7
- 在 ConcatAdapter 中,itemViewType获取错误导致的崩溃 HOT 6
- 在用MultiType来实现一个app的二级评论,如何处理点击事件呢? HOT 1
- Types接口是否支持oneToMany注册Type?
- 使用OneToMany问题 HOT 1
- 我该如何在 ItemViewDelegate 中操作 items ? HOT 2
- 大家好,我使用MultiTypeAdapter的时候itme复用是数据混乱了,请问有人遇到吗? HOT 2
- release模式下,混淆失败 HOT 2
- Rename & set typealias
- 多个布局作为一个itemview会显示不全 HOT 1
- 恕我直言,多类型实体类实现过于复杂!虽然item多样式,但后台返回外层json类型是一个,不可能根据你item的不同拆分bean的不同,不如MultiAdapter库。 HOT 2
- 怎么添加头尾布局?
- java.lang.VerifyError: Rejecting class that attempts to sub-type erroneous class com.drakeet.multitype.ItemViewBinder
- 请问 Demo中 BilibiliActivity 中嵌套的横向 PostAdapter 可以是 MultiTypeAdapter 吗?
- 在kotlin ItemViewBinder中, 在binder内部实现自我删除。items为List,不是mutableList。不能删除数据。items的类型 是否改为MutableList或者ArrayList<>
- 啥时候出一版支持Jetpack Compose呀?!
- 请问MultiType与AsyncListDiffer如何结合使用
- 我正在开发OpenHarmony应用,使用JS语言,你们能否支持JS版本?我愿意参与开发,期待回复。 HOT 2
- link 自定义问题
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from multitype.