android - AppWidget 中的 GridView View 回收

标签 android android-layout android-gridview

我在 AppWidget 中使用 GridView,但我遇到了它的 View 回收问题。 RemoteViewsFactory据我所知,没有任何方法可以处理回收 View ,getView 方法只有一个索引,没有可以使用的 convertView。所以,当我的 GridView 回收一个 View 时,它保留了与它最初出现的所有相同的数据,这是错误的。有什么方法可以禁用 View 回收,或编辑回收 View 以替换其数据?

起初我想为每个索引返回一个不同的 View 类型,但 RemoteViewsFactory 也隐藏了它,所以我也不能那样做!

最佳答案

我想我明白了。当我创建将填充 GridView 使用的适配器的 View 列表时,我只是在将数据放入其中之前清除所有 View 。我不知道它为什么有效,但它似乎有效。

 RemoteViews view = new RemoteViews( _context.getPackageName(), R.id.base_view );
 view.removeAllViews( R.id.day_box );

关于android - AppWidget 中的 GridView View 回收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52319045/

相关文章:

java - 如果正在运行,Android 服务会与 Activity 对话吗?

java - Intent 获取数据仅在一项 Activity 中出错

android - 如何将透明 View 放在另一个布局上

android - 使用 StickyGridHeaders

java - 如何在imageview上对图像进行灰度化?

java - Android - 如何在蓝牙打印机 (X330) 上打印图像(光栅)?

android - 获得 visibility=gone 的 View 的高度

android - 如何在约束布局中为 ImageView 设置完美的纵横比

android - 在 android Gridview 中合并行和列

Android在 GridView 上制作操作栏覆盖