知道如何防止 Android Widget 中显示的列表视图在每次刷新数据时闪烁吗?

Posted

技术标签:

【中文标题】知道如何防止 Android Widget 中显示的列表视图在每次刷新数据时闪烁吗?【英文标题】:Any idea how to pevent a listview displayed in an Android Widget to fliker every time data is refreshed? 【发布时间】:2021-06-26 02:24:21 【问题描述】:

我正在显示一个带有列表视图的小部件。 当我需要刷新列表视图数据时,我正在调用以下代码

appWidgetManager.notifyAppWidgetViewDataChanged(widgetIds, R.id.list);

这很好用,只是每次调用时列表视图都会闪烁很多。有没有办法防止这种情况发生?

编辑:经过大量测试后,看起来只有当我使用以下代码在列表视图行中显示图像视图时才会发生闪烁

view.setImageViewBitmap(R.id.thumbnail, bitmap);

【问题讨论】:

【参考方案1】:

由于某些原因使用

views.setImageViewUri(R.id.thumbnail, uri);

而不是

view.setImageViewBitmap(R.id.thumbnail, bitmap);

解决了这个问题。刷新小部件的列表视图内容时不再闪烁

【讨论】:

以上是关于知道如何防止 Android Widget 中显示的列表视图在每次刷新数据时闪烁吗?的主要内容,如果未能解决你的问题,请参考以下文章

Android:如何在 Widget [Remote Views] 中使用自定义视图

你如何扩展像Android.widget包中的DatePicker PagerAdapter这样的Android类?

如何设置 android.support.design.widget.tablayout的选择的文本进行加粗显示

Android Widget ImageView 不显示

如何防止 iOS 14 Widget 打开应用程序并响应回调

Android 如何实现竖排文字显示