1

我很难弄清楚为什么我的 App Widget ListView 不会填充数据。一切似乎都连接正确。当我调试时,我可以看到从我的数据库(Firestore)中检索到的数据。但是,它仍然不会填充到 App Widget 中。

我在自己的 Github 上新建了一个 Issue,方便查看问题:Github Issue

远程视图工厂

  • 数据已成功检索自Firestore DB
  • List<Review> reviews被填充
  • 其中的Review对象包含正确的数据
  • get()方法返回正确的数据

评论AppWidgetProvider

  • ReviewsWidgetService Intent被建造
  • setRemoteAdapter()使用 the 调用并Intent传入 theListView
  • updateAppWidget() 叫做
  • notifyAppWIdgetViewDataChaged()叫做

评论片段

  • ReviewsAppWidgetProvider.updateAppWidgets()添加或删除评论时调用

AndroidManifest

  • ReviewsAppWidgetProvider宣布为接收者
  • 意图过滤器设置为action.APPWIDGET_UPDATE
  • ReviewsWidgetService声明为服务
  • 权限BIND_REMOTEVIEWS
4

1 回答 1

0

正如您所说,获取数据一切正常。但它仍然在绘制加载视图。所以问题出在你的分隔符上。视图不能在应用小部件中使用,因为启动器进程不知道视图,它只知道有限的视图数量,所有可以使用的视图,你可以在这里找到。

那么如何制作这样的分频器呢?首先你需要一个形状,所以它类似于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">
        ...
于 2019-02-24T08:29:25.767 回答