Skip to content

Conversation

@AllenCoder
Copy link
Collaborator

1.refactor multipleItemRvAdapter
2. remove multipleItemRvAdapter clickListener

3.Deprecated interface ItemProvideTag
4. Replace reflections with native methods

2. remove multipleItemRvAdapter clickListener
2. Replace reflections with native methods
@chaychan
Copy link
Contributor

@AllenCoder 我正在修改,支持注解或者重写getLayout()方法或getViewType()方法返回对应的layoutId和viewType,至于点击事件冲突的问题,我这边加了判断如果设置了onItemClickListener或者onItemLongClickListener则不会回调到provider中,这样用户可以选择其中一种方法设置点击事件

@AllenCoder
Copy link
Collaborator Author

1 。点击事件,没有必要单独抽出一个写法,会导致原来的用户对点击事件的理解变得混乱,应该继续统一使用原来的点击写法,所以我的pr里,把点击的写法都移除掉了。
2. 目前注解使用和回调都支持,会造成二次浪费,所有的地方都判断了一次注解是否存在,所以,权衡一下是否一定需要注解
3.注解的方式在 lib工程下会因为,R.layout.xxx不是final 型常量,不能被引用,用户也会出现报错

@chaychan
Copy link
Contributor

@AllenCoder 如果点击事件都放在OnItemClickListener中的话,如果不同条目的点击事件不同,那不是还要在回调中做很多判断,所以我觉得两种方式用户可以任选其一,如果条目的点击事件都是相同,那么他通过setOnItemClickListener在回调中处理,如果他想在不同的ItemProvider中做不同的点击处理,那么他重写ItemProvider中的onClick方法,在对应的ItemProvider中点击处理,我觉得这样规范一点。

…dapterHelper

# Conflicts:
#	app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/provider/ImgItemProvider.java
#	app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/provider/TextImgItemProvider.java
#	app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/provider/TextItemProvider.java
#	library/src/main/java/com/chad/library/adapter/base/MultipleItemRvAdapter.java
#	library/src/main/java/com/chad/library/adapter/base/provider/BaseItemProvider.java
#	library/src/main/java/com/chad/library/adapter/base/util/ProviderDelegate.java
…dapterHelper

# Conflicts:
#	app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/provider/ImgItemProvider.java
#	app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/provider/TextImgItemProvider.java
#	app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/provider/TextItemProvider.java
#	library/src/main/java/com/chad/library/adapter/base/MultipleItemRvAdapter.java
#	library/src/main/java/com/chad/library/adapter/base/provider/BaseItemProvider.java
#	library/src/main/java/com/chad/library/adapter/base/util/ProviderDelegate.java
@AllenCoder AllenCoder merged commit b209c89 into CymChad:master Apr 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants