我的布局遇到了一个非常奇怪的问题。我有一个活动,内容框架为我的应用程序的片段。在我的一个片段中,我有一个启用了快速滚动的ListView。
现在,我遇到的问题是“滚动拇指”(用于禁食滚动)仅适用于我的应用显示的第一个片段,并且只有第一次显示该片段。
如果我重新加载第一个片段,则滚动缩略图会消失。如果我切换到另一个包含带快速滚动的ListView的片段,滚动拇指也会消失。
但是,如果我重新加载整个活动(即关闭应用程序并再次打开它),问题会重复出现。它只能工作一次,直到我重新打开我的应用程序。
到目前为止,我发现的唯一部分解决方法是使用fastScrollAlwaysVisible,在这种情况下,快速滚动确实始终可见,但这不是我想要的行为。我只想在列表中滚动时显示滚动。
左图是正确的滚动行为,只能在第一次使用。右图是不正确的滚动行为,滚动拇指已经消失并恢复正常滚动。
注意:当我更改为不同的片段时,滚动拇指出现的时间非常短。
答案 0 :(得分:0)
我偶然发现了同样的问题,并发现在第二次设置android.app.ListActivity.setListAdapter(ListAdapter)后,Fast Scroll Thumb消失了。 我通过将新的ListAdapter的光标首先更改为空光标(具有相同的列...)然后使用activity.getListAdapter()更改为实际光标来修复此问题.changeCursor(cursor)
请参阅此提交的差异: https://github.com/andstatus/andstatus/commit/685df904a6c62e656a627e4eb021034f2150ce8f
请注意,当您不更改ListAdapter时,快速滚动缩略图不会消失,而只是使用以下调用将旧游标替换为新游标:activity.getListAdapter())。changeCursor(cursor);
答案 1 :(得分:0)
我现在无法重现这个问题。我怀疑它可能已经修复了Android的最新更新(4.4.3)。