Android AppWidget ListView не будет заполняться

Мне трудно понять, почему мой список приложений Widget ListView не будет заполняться данными. Кажется, все правильно подключено. Когда я отлаживаю, я вижу данные, которые извлекаются из моей базы данных (Firestore). Тем не менее, он по-прежнему не будет отображаться в виджете приложения.

Я создал новую проблему на своем Github, чтобы упростить просмотр проблемы: Github Issue

RemoteViewsFactory

  • Данные успешно получены из Firestore DB
  • List<Review> reviews населён
  • Review объекты внутри него содержат правильные данные
  • get() методы возвращают правильные данные

ReviewsAppWidgetProvider

  • ReviewsWidgetService Intent создано
  • setRemoteAdapter() называется с помощью Intent и проходя в ListView также
  • updateAppWidget()называется
  • notifyAppWIdgetViewDataChaged() называется

ReviewFragment

  • ReviewsAppWidgetProvider.updateAppWidgets() вызывается при добавлении или удалении отзывов

AndroidManifest

  • ReviewsAppWidgetProvider объявлен как получатель
  • Фильтр намерений установлен для action.APPWIDGET_UPDATE
  • ReviewsWidgetService объявлен как Сервис
  • permssion BIND_REMOTEVIEWS задавать

1 ответ

Решение

Как вы сказали, с загрузкой данных все в порядке. Но это все еще нарисовать загрузочный вид. Так что проблема в вашем делителе. Представление нельзя использовать в виджетах приложения, поскольку процесс запуска не знает о представлении, он знает только об ограниченном количестве представлений, все представления, которые можно использовать, вы можете найти здесь.

Так как сделать такой разделитель? Сначала вам нужна форма, так что это будет что-то вроде bottom_border.xml:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <stroke
        android:width="0.5dp"
        android:color="#CCCCCC" />
</shape>

Так что теперь в вашем корневом представлении добавьте фон bottom_border.xml, например:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:background="@drawable/bottom_border"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
        ...
Другие вопросы по тегам