首页 > 解决方案 > AppWidget中的GridView视图回收

问题描述

我在 AppWidget 中使用 GridView,但我的视图回收存在问题。 据我所知, RemoteViewsFactory没有任何方法可以处理回收的视图,该getView方法只有一个索引,没有可使用的 convertView。因此,当我的 GridView 回收视图时,它会保留与原始视图相同的所有数据,这是错误的。有什么方法可以禁用视图回收,或编辑回收的视图以替换其数据?

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

标签: androidandroid-layoutandroid-gridview

解决方案


我想我想通了。当我创建将填充 GridView 使用的适配器的视图列表时,我只是在将数据放入其中之前清除所有视图。我不知道它为什么会起作用,但似乎可以。

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

推荐阅读