我正在尝试使用Gallery小部件创建日历。我有一个monthview类,用于处理特定月份的视图。我的MonthGallery类使用monthview作为其子视图,而我的monthviewadapter创建monthgallery的monthviews。我遇到的问题是尝试在用户滚动或跳至上个月或下个月时,用上个月和下个月更新适配器。我使用画廊onItemSelectedListener中给定的位置,以根据该位置在适配器的正面和背面添加月份。例如: 通用标签

问题
一旦用户滚动到另一个月,然后尝试滚动到第一个月,图库就不会自动捕捉到下一个选择。在适配器中,当调用addView(int month,int year)时,它将调用notifyDataSetChanged(),以便它使用上个月或下个月更新画廊,但这在缓慢滚动时似乎会导致意外的“捕捉”。只是不确定如何构造它,以便滚动平滑。

编辑
我现在正在使用Gallery.setCallbackDuringFling(false),但是有没有办法在滚动画廊时禁用onitemselected回调,然后在滚动完成后调用onitemselected()?

有帮助吗?

解决方案

来自“>替换Gallery小部件的二手画廊是否存在View回收?

onScroll()中删除了一行 通用标签

其他提示

是否保证在调用addView()时调用notifyDatasetChanged()

我认为,您可以检查一下。

过去,当我触摸适配器内部的视图时,我会立即调用notifyDatasetChanged()。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top