Moxy
Moxy copied to clipboard
Проблема при наследовании параметризованных интерфейсов
Здравствуйте! я создал следующую иерархию интерфейсов
public interface IBaseFragment<ViewModel> extends MvpView {
void showContent(ViewModel viewModel);
}
public interface IBaseListFragment<ViewModel> extends IBaseFragment<ViewModel> {
}
public interface IBasePagingListFragment<ViewModel> extends IBaseListFragment<ViewModel> {
}
public interface IProductsView extends IBasePagingListFragment<ProductsViewModel> {
}
Далее если заинжектить интерфейс view
@InjectViewState
public class ProductPresenter extends MvpPresenter<IProductsView> {
}
то сборка падает с ошибкой в сгенерированном классе IProductsView$$State
ибо не может найти класс ViewModel.
При чём, если убрать из иерархии IBasePagingListFragment<ViewModel>
, то всё собирается нормально
Вы точно привели не полный пример кода, потому что у вас ProductPresenter не типизирован никакой View
Редактор не воспринял типизирование, комментарий обновил
А какая версия moxy используется?
1.5.3
def moxy = '1.5.3'
compile "com.arello-mobile:moxy:$moxy"
compile "com.arello-mobile:moxy-app-compat:$moxy"
annotationProcessor "com.arello-mobile:moxy-compiler:$moxy"
@senneco что нибудь делать планировал?
@Demin92 добрый день, извините пожалуйста, что долго не отвечали.
проблема еще актуальна? Приведите, пожалуйста листинг ошибки из Gradle Console
У меня похожая ошибка с 1.5.5 версией. С 1.5.3 все работает норм.
AuditListFragmentView$$State.java:183: error: cannot find symbol
public final RealmResults<T> list;
symbol: class T
location: class AuditListFragmentView$$State.SetItemsCommand
public interface AuditListFragmentView extends RealmView<Audit> {
}
public interface RealmView<T extends RealmModel> extends GenericView {
void setItems(RealmResults<T> list);
}
public interface GenericView<T extends RealmModel> extends MvpView {
}
@xanderblinov @senneco Здравствуйте, проблема еще актуальна, тоже с этим столкнулся. В 1.5.5 не работает, а в 1.5.3 все ок.