【问题标题】:Android Scroll Thumb DisappearsAndroid 滚动拇指消失
【发布时间】:2014-06-12 04:56:47
【问题描述】:

我的布局遇到了一个非常奇怪的问题。我有一个带有内容框架的活动,用于我的应用程序的片段。在我的一个片段中,我有一个启用了快速滚动的 ListView。

现在,我遇到的问题是“滚动拇指”(用于快速滚动)仅在我的应用显示的第一个片段中有效,并且仅在该片段第一次显示时有效。

如果我重新加载第一个片段,滚动拇指就会消失。如果我切换到另一个包含快速滚动的 ListView 的片段,滚动拇指也会消失。

但是,如果我重新加载整个活动(即关闭应用程序并再次打开它),问题就会重复。在我重新打开我的应用之前,它只能工作一次。

到目前为止,我发现的唯一部分解决方法是使用 fastScrollAlwaysVisible,在这种情况下,快速滚动确实始终可见,但这不是我想要的行为。我只想在您滚动列表时显示滚动条。

左图是正确的滚动行为,仅在第一次时有效。右图是不正确的滚动行为,滚动拇指消失并恢复正常滚动。

注意:当我切换到不同的片段时,滚动拇指出现很短的时间之前。

【问题讨论】:

    标签: android android-layout android-fragments


    【解决方案1】:

    我偶然发现了同样的问题,并发现 Fast Scroll Thumb 在 android.app.ListActivity.setListAdapter(ListAdapter) 的第二次设置后消失了。 我通过首先将新 ListAdapter 的光标更改为空光标(具有相同的列...)然后使用 activity.getListAdapter()).changeCursor(cursor) 更改为实际光标来解决此问题

    请查看此提交的差异: https://github.com/andstatus/andstatus/commit/685df904a6c62e656a627e4eb021034f2150ce8f

    请注意,当您不更改 ListAdapter 时,快速滚动拇指不会消失,而只是使用以下调用将旧光标替换为新光标:activity.getListAdapter()).changeCursor(cursor);

    【讨论】:

    • 看来问题与我使用片段有关。由于我的片段正在重新创建,我必须再次调用 setListAdapter(因为它是一个新视图和一个新列表)。另外我没有使用游标,只是一个普通的 ArrayAdapter。
    【解决方案2】:

    我现在无法重现该问题。我怀疑它可能已被最新的 Android (4.4.3) 更新修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-28
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      • 2013-08-24
      • 2011-12-20
      • 2018-01-27
      • 1970-01-01
      相关资源
      最近更新 更多