Библиотека подкачки Android java.lang.IllegalArgumentException: требуется MainThreadExecutor - PullRequest
0 голосов
/ 29 декабря 2018

Я использую библиотеку подкачки Android androidx.paging:paging-runtime:2.0.0 для создания списка.Проблема в том, что когда я хочу собрать PagedList (LivePagedList работает хорошо), у меня появляется ошибка:

java.lang.IllegalArgumentException: MainThreadExecutor required
at androidx.paging.PagedList$Builder.build(PagedList.java:355)

Но я не вижу, чтобы setMainThreadExecutor метод был доступен, есть только setFetchExecutor:

    val result = list.filter { it.desc?.contains(query, ignoreCase = true) == true }
    val dataSource = MyDataSource(result)
    val mainHandler = Handler(Looper.getMainLooper())
    val pagedList: PagedList<MyDetails> = PagedList.Builder<Int, MyDetails>(dataSource, 500).setFetchExecutor { mainHandler.post(it) }
                .build()

Кто знает, в чем здесь проблема?

1 Ответ

0 голосов
/ 29 декабря 2018

Читая источник, вы получите это исключение, если для исполнителя, установленного с setNotifyExecutor(), установлено значение NULL.Я не вижу, чтобы вы так называли.

Я согласен, что сообщение об исключении несколько вводит в заблуждение.

Для справки по источнику я использовал this .Это не совсем то же самое, но я верю, что версия androidx ведет себя так же.

...