问题标签 [android-appwidget-list]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
144 浏览

android - Appwidget 没有正确更新

我开发了一个 appwidget,它是一个集合小部件,并使用 Loader 从数据库中检索数据,当用户单击列表项时,该项目的详细信息将按意图保存到包中,主要活动将与显示给用户的捆绑信息一起启动。

我的代码按预期工作;但是,我担心小部件如何实际工作、初始化和更新可能出现的边缘情况,这是我没有想到的。在认为我的代码现在可以正常工作大约 5 天后,我发现了一个极端情况。再说一次,我是小部件开发的新手,小部件的 API 花了我很多时间来解决我的问题。

问题

我的 appwidget 的一切似乎在我的手机上都能正常工作,但在我的平板电脑上,在打开应用程序并将新的小部件添加到主屏幕后,它可以正常工作。如果我不先打开应用程序,则我的小部件中不会显示任何内容。

此外,如果我的平板电脑重新启动或关机,那么我当前的小部件将不会显示任何内容。即使在打开我的应用程序之后,我也特别需要为我的其他小部件添加一个新的小部件才能更新。

对于我的手机,除非我添加另一个小部件,否则我很少会遇到小部件上不显示任何内容的问题。至少我不能复制任何东西并保证它不会像在平板电脑上那样工作。

那么,这怎么能在我的手机上几乎完全正常工作,但在我的平板电脑上却一直有问题呢?有没有办法确保我的数据可用,无论我是否在应用程序上打开,以及我是否重新启动我的设备?

代码

GitHub 链接。直接链接到实现 appwidget(java 和 res 文件夹以及清单文件)的 Hub Flavor

应用小部件提供程序

适配器

服务

清单(Hub 风味)

Hub 风格是我的代码中唯一具有 appwidgets 的方面,因此我只在此处包含合并到主 Manifest 文件中的 Hub Manifest 文件。

0 投票
1 回答
1972 浏览

android - 使用 Glide 为 AppWidget 加载图像

我正在开发我的第一个应用小部件。一切都很好,除了一件事。我不知道,如何使用 Glide 在 RemoteViewsFactroy 的 getViewAt() 方法中将图像加载到 ImageView 中。我总是出错,因为我必须在 MainThread 遇到(AppWidgetTarget),但我不能从 RemoteViewsFactory 调用 new Handler(Looper.getMainLooper())。

0 投票
1 回答
573 浏览

android - 如何在appwidget listview中显示图像而不使用Picasso android重新加载它

嗨,我在我的 appwidget listview 项目中有缩略图,使用 Picasso。但它在滚动列表视图时显示为正在加载。我使用下面的代码在 RemoteViews getViewAt(int position) 方法中加载图像,

有没有办法将它存储在缓存中并避免重新加载?请给我一个想法。

0 投票
1 回答
647 浏览

android - 以编程方式更改 appWidget 的高度?

我们能否根据listview的显示组件在运行时以编程方式和动态地更改appWidget的高度

0 投票
1 回答
1060 浏览

android - RemoteViews 上的 partialUpdateAppWidget 不起作用

RemoteViewsfor anAppWidgetAdapterViewFlipper,当用户单击AppWidget. 根据官方文档,这应该通过在RemoteViews. 然后AppWdiget应该使用 partialUpdateAppWidget 更新,甚至具有showNext()文档中的示例功能。我已经尝试过实现这一点,但我很可能会犯一些我似乎无法弄清楚的愚蠢错误。

当用partiallyUpdateAppWidgetupdateAppWidget一个按钮替换时,直到方向改变或手机进入睡眠状态,这会强制重绘最后存储的RemoteViews. 这让我相信我犯的错误与部分更新有关,但我无法弄清楚我做错了什么。

0 投票
1 回答
1123 浏览

android - 如何在android中的主屏幕小部件的列表项上获取点击事件

问题

  • 我在主屏幕上有一个带有 Listview 动态数据项的小部件,现在我可以在 listview 项单击时获得单击事件。因为我可以单击小部件上的另一个按钮,但单击列表项仍然没有成功。

SimpleWidgetProvider.Java

}

ListProvider.java

}

  • 所以请参考我的代码并尝试帮助我解决这个问题。
0 投票
0 回答
31 浏览

android - Android 应用小部件首选项

我正在构建一个具有对象列表的 android 应用程序,并且每个对象都有一个category可以是三个可能类别之一的字段。

有一个大小为 3x3 的应用小部件,其中包含提到的对象列表。现在,我需要在每次创建应用小部件时过滤列表。用户从主屏幕转到小部件页面,选择我的列表小部件,当他/她将其拖到主屏幕时,应该弹出WidgetSettingsActivity提示用户使用三个类别之一过滤列表。

我从小部件类开始活动

但是当用户在主屏幕上设置它时,我应该何时何地调用它来获取每个小部件的对话框?

0 投票
1 回答
255 浏览

android - RemoteViews ListView setScrollPosition 未命中

我正在开发一个包含 ListView 的应用小部件。我希望能够让它在刷新时滚动到特定的行,我正在RemoteViews.setRelativeScrollPosition这样做,但它实际上总是错过,要么滚动得太远,所以所需的行在顶部的一半处,或者不够远,所以它位于小部件顶部下方的某个位置。我希望它在小部件的顶部排列。我尝试过使用setScrollPosition而不是setRelativeScrollPosition,但它根本不滚动(仍然显示所需的行,只是向下更远)。

我做错了什么,遗漏了什么,还是无法将 ListView 滚动到小部件中的特定位置?我不需要滚动效果,如果它突然出现在正确的位置我会很高兴。

这是我的主要小部件布局:

ListView 在代码中填充了以下布局的行:

然后,我RemoteViewsService使用以下内容滚动它:

0 投票
1 回答
523 浏览

android - 如何使用 AppWidgetHostView 在 android 应用程序上调整小部件的大小?

我创建了一个具有小部件的应用程序。我想调整小部件的大小,但它不起作用。小部件大小在 w/ 和 w/o widgetView.updateAppWidgetSize(options, 100, 100, 200, 200)之间不会改变。为什么 updateAppWidgetSize 不起作用?如何更改小部件大小?

主要活动:

活动主.xml:

0 投票
1 回答
122 浏览

java - Android AppWidget ListView 不会填充

我很难弄清楚为什么我的 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