问题标签 [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.
android - Appwidget 没有正确更新
我开发了一个 appwidget,它是一个集合小部件,并使用 Loader 从数据库中检索数据,当用户单击列表项时,该项目的详细信息将按意图保存到包中,主要活动将与显示给用户的捆绑信息一起启动。
我的代码按预期工作;但是,我担心小部件如何实际工作、初始化和更新可能出现的边缘情况,这是我没有想到的。在认为我的代码现在可以正常工作大约 5 天后,我发现了一个极端情况。再说一次,我是小部件开发的新手,小部件的 API 花了我很多时间来解决我的问题。
问题
我的 appwidget 的一切似乎在我的手机上都能正常工作,但在我的平板电脑上,在打开应用程序并将新的小部件添加到主屏幕后,它可以正常工作。如果我不先打开应用程序,则我的小部件中不会显示任何内容。
此外,如果我的平板电脑重新启动或关机,那么我当前的小部件将不会显示任何内容。即使在打开我的应用程序之后,我也特别需要为我的其他小部件添加一个新的小部件才能更新。
对于我的手机,除非我添加另一个小部件,否则我很少会遇到小部件上不显示任何内容的问题。至少我不能复制任何东西并保证它不会像在平板电脑上那样工作。
那么,这怎么能在我的手机上几乎完全正常工作,但在我的平板电脑上却一直有问题呢?有没有办法确保我的数据可用,无论我是否在应用程序上打开,以及我是否重新启动我的设备?
代码
GitHub 链接。直接链接到实现 appwidget(java 和 res 文件夹以及清单文件)的 Hub Flavor
应用小部件提供程序
适配器
服务
清单(Hub 风味)
Hub 风格是我的代码中唯一具有 appwidgets 的方面,因此我只在此处包含合并到主 Manifest 文件中的 Hub Manifest 文件。
android - 使用 Glide 为 AppWidget 加载图像
我正在开发我的第一个应用小部件。一切都很好,除了一件事。我不知道,如何使用 Glide 在 RemoteViewsFactroy 的 getViewAt() 方法中将图像加载到 ImageView 中。我总是出错,因为我必须在 MainThread 遇到(AppWidgetTarget),但我不能从 RemoteViewsFactory 调用 new Handler(Looper.getMainLooper())。
android - 如何在appwidget listview中显示图像而不使用Picasso android重新加载它
嗨,我在我的 appwidget listview 项目中有缩略图,使用 Picasso。但它在滚动列表视图时显示为正在加载。我使用下面的代码在 RemoteViews getViewAt(int position) 方法中加载图像,
有没有办法将它存储在缓存中并避免重新加载?请给我一个想法。
android - 以编程方式更改 appWidget 的高度?
我们能否根据listview的显示组件在运行时以编程方式和动态地更改appWidget的高度。
android - RemoteViews 上的 partialUpdateAppWidget 不起作用
在RemoteViews
for anAppWidget
中AdapterViewFlipper
,当用户单击AppWidget
. 根据官方文档,这应该通过在RemoteViews
. 然后AppWdiget
应该使用 partialUpdateAppWidget 更新,它甚至具有showNext()
文档中的示例功能。我已经尝试过实现这一点,但我很可能会犯一些我似乎无法弄清楚的愚蠢错误。
当用partiallyUpdateAppWidget
下updateAppWidget
一个按钮替换时,直到方向改变或手机进入睡眠状态,这会强制重绘最后存储的RemoteViews
. 这让我相信我犯的错误与部分更新有关,但我无法弄清楚我做错了什么。
android - 如何在android中的主屏幕小部件的列表项上获取点击事件
问题
- 我在主屏幕上有一个带有 Listview 动态数据项的小部件,现在我可以在 listview 项单击时获得单击事件。因为我可以单击小部件上的另一个按钮,但单击列表项仍然没有成功。
SimpleWidgetProvider.Java
}
ListProvider.java
}
- 所以请参考我的代码并尝试帮助我解决这个问题。
android - Android 应用小部件首选项
我正在构建一个具有对象列表的 android 应用程序,并且每个对象都有一个category
可以是三个可能类别之一的字段。
有一个大小为 3x3 的应用小部件,其中包含提到的对象列表。现在,我需要在每次创建应用小部件时过滤列表。用户从主屏幕转到小部件页面,选择我的列表小部件,当他/她将其拖到主屏幕时,应该弹出WidgetSettingsActivity
提示用户使用三个类别之一过滤列表。
我从小部件类开始活动
但是当用户在主屏幕上设置它时,我应该何时何地调用它来获取每个小部件的对话框?
android - RemoteViews ListView setScrollPosition 未命中
我正在开发一个包含 ListView 的应用小部件。我希望能够让它在刷新时滚动到特定的行,我正在RemoteViews.setRelativeScrollPosition
这样做,但它实际上总是错过,要么滚动得太远,所以所需的行在顶部的一半处,或者不够远,所以它位于小部件顶部下方的某个位置。我希望它在小部件的顶部排列。我尝试过使用setScrollPosition
而不是setRelativeScrollPosition
,但它根本不滚动(仍然显示所需的行,只是向下更远)。
我做错了什么,遗漏了什么,还是无法将 ListView 滚动到小部件中的特定位置?我不需要滚动效果,如果它突然出现在正确的位置我会很高兴。
这是我的主要小部件布局:
ListView 在代码中填充了以下布局的行:
然后,我RemoteViewsService
使用以下内容滚动它:
android - 如何使用 AppWidgetHostView 在 android 应用程序上调整小部件的大小?
我创建了一个具有小部件的应用程序。我想调整小部件的大小,但它不起作用。小部件大小在 w/ 和 w/o widgetView.updateAppWidgetSize(options, 100, 100, 200, 200)之间不会改变。为什么 updateAppWidgetSize 不起作用?如何更改小部件大小?
主要活动:
活动主.xml:
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
集