binding-collection-adapter
binding-collection-adapter copied to clipboard
item中绑定adapter报错binding:adapter="@{vm.mAdapter}"
错误: 无法将类 BindingRecyclerViewAdapters中的方法 setAdapter应用到给定类型; 需要: RecyclerView,ItemBinding<? super T>,List<T>,BindingRecyclerViewAdapter<T>,ItemIds<? super T>,ViewHolderFactory,AsyncDifferConfig<T> 找到: RecyclerView,ItemBinding<ContactItemViewModel>,ObservableList<ContactItemViewModel>,ContactAdapter,ItemIds,ViewHolderFactory,AsyncDifferConfig 原因: 推论变量 T 具有不兼容的限制范围 等式约束条件: CompanyInfo,ContactItemViewModel 上限: ContactItemViewModel,Object 其中, T是类型变量: T扩展已在方法 <T>setAdapter(RecyclerView,ItemBinding<? super T>,List<T>,BindingRecyclerViewAdapter<T>,ItemIds<? super T>,ViewHolderFactory,AsyncDifferConfig<T>)中声明的Object
Thank you for reporting your issue. In order to look into it, can you please provide a sample project and clear steps to reproduce?
Thank you for reporting your issue. In order to look into it, can you please provide a sample project and clear steps to reproduce?
android.build.gradle version 3.5.3 and setAdapter in Activity/Fragment(not in ViewModel), This is different from the sample code
Thank you for reporting your issue. In order to look into it, can you please provide a sample project and clear steps to reproduce?
If I define the adapter in the ViewModel like the simple code, there is no problem, But I don't know if this code will cause a memory leak?
-
build.gradle Modify upgrade in file: classpath 'com.android.tools.build:gradle:3.6.3'
-
gradle-wrapper.properties Modify upgrade in file: distributionUrl=https://services.gradle.org/distributions/gradle-5.6.4-all.zip
The following questions will appear: E:\Android\AndroidStudioProjects\MVVMHabit-master\app\build\generated\ap_generated_sources\debug\out\com\goldze\mvvmhabit\databinding\FragmentNetworkBindingImpl.java:158: 错误: 无法将类 BindingRecyclerViewAdapters中的方法 setAdapter应用到给定类型; me.tatarka.bindingcollectionadapter2.BindingRecyclerViewAdapters.setAdapter(this.mboundView2, viewModelItemBinding, viewModelObservableList, adapter, (me.tatarka.bindingcollectionadapter2.BindingRecyclerViewAdapter.ItemIds)null, (me.tatarka.bindingcollectionadapter2.BindingRecyclerViewAdapter.ViewHolderFactory)null); ^ 需要: RecyclerView,ItemBinding<T>,List<T>,BindingRecyclerViewAdapter<T>,ItemIds<? super T>,ViewHolderFactory 找到: RecyclerView,ItemBinding<NetWorkItemViewModel>,ObservableList<NetWorkItemViewModel>,BindingRecyclerViewAdapter<CAP#1>,ItemIds,ViewHolderFactory 原因: 推断类型不符合等式约束条件 推断: CAP#1 等式约束条件: CAP#1,NetWorkItemViewModel 其中, T是类型变量: T扩展已在方法 <T>setAdapter(RecyclerView,ItemBinding<T>,List<T>,BindingRecyclerViewAdapter<T>,ItemIds<? super T>,ViewHolderFactory)中声明的Object 其中, CAP#1是新类型变量:
Project address in question:https://github.com/goldze/MVVMHabit uses binding collection adapter
study
怎么解决呢
我也遇到这个问题了,如何解决?(I am meet this problem too, how can i solve this problem?)
在xml导入的类名后面加入 <Object>试试.
<variable
name="ViewModel"
type="xxx.xxx.DataListViewModel<Object>" />