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">
...