Динамически добавлять больше карт в список

1

Я работаю над приложением Android TV уже довольно давно, и я очень далеко работаю над этим. Я пытаюсь разработать приложение, такое как время попкорна, но это для Google Nexus TV box. Проблема, в которой я застрял, действительно проста, но даже после многих усилий я все еще не могу понять решение. Я извлекаю данные json из моей базы данных, в которой есть все детали и ссылки на фильмы, и это работает отлично. над всем видом приложения

Теперь те, кто использовал ваше приложение для трубки на Android-телевизоре, должны были заметить, что он был построен на понижающем потоке, а когда вы прокручиваете список в списке, в строку добавляются больше карт, а также приложение вызывало вызовы json для получения большего количества данные в соответствии с категорией, в которой мы прокручиваемся. (что я хочу делать)

В настоящее время невозможно, если я запрашиваю большие данные, требуется много времени, чтобы получить все с сервера, поэтому я разработал способ, с помощью которого я могу выполнять вызовы json для прокрутки, но я не могу представить их в listrow во время выполнения.

  • 0
    Разместите свой код адаптера. где вы добавляете значения JSON в адаптер и адаптер в список
Теги:
android-tv
leanback

2 ответа

0
Лучший ответ

Я работаю с библиотекой Leanback в Android от 7 до 8 месяцев. И я разработал свой собственный класс презентаторов, благодаря которому вы можете загружать больше карт динамически по прокрутке, но его невозможно использовать с помощью библиотеки Leanback Library, ListAdapter обновляет одну строку и переместится в следующую категорию, чтобы обновить ее. которые занимают время во время выполнения.

Я использовал приведенный ниже ответ, чтобы создать свой собственный класс презентатора. "Трюк" при осуществлении бесконечной загрузки прокрутки состоит в том, что вам нужно создать две AysncTasks.

Взгляните на сообщение 34

Lazy загружает изображения в gridView

это займет немного времени, но вы получите эту идею.

1

Чтобы добавить элементы в презентацию,

CardPresenter channelCardPresenter = new CardPresenter();
ArrayObjectAdapter channelRowAdapter = new ArrayObjectAdapter(channelCardPresenter);
channelRowAdapter.add(new Movie("Movie Title"));
HeaderItem header = new HeaderItem(0, "My Channels");
mRowsAdapter.add(new ListRow(header, channelRowAdapter));

Конечно, это может работать только в первый раз, когда вы создаете пользовательский интерфейс. В будущем время может этого не сделать. В моем приложении https://github.com/Fleker/CumulusTV/blob/master/app/src/main/java/com/felkertech/n/tv/LeanbackFragment.java я создаю метод, который будет вызываться каждый раз, когда я хочу выполнить полную перерисовку приложения:

public void refreshUI() {
    prepareBackgroundManager();
    setupUIElements();
    loadRows(); //Generate and populate all the rows
    setupEventListeners();
}
  • 0
    Не работает для меня Все еще получаю IOBE.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню