03
Apr
kitkat

When writing an Android app, one useful feature that developers use when dealing with a potentially long list of options is fast scrolling. First introduced in Android 1.5/Cupcake, this functionality allows a user to grab the scrollbar and drag it down to scroll section-by-section, rather than item-by-item. It appears, however, that the KitKat implementation of this classic Android feature has introduced a bug which is driving some developers crazy.

bug_watch

 

Symptoms

This bug is certainly one that affects developers more than end users. Essentially, what happens is that you enable fast scrolling in your ListView either via XML or in code using the setFastScrollEnabled() method of the AbsListView class. When you run your app, you notice that the fast scrolling does not actually engage the first time the ListView loads. Instead, you must either flip orientations to cause a configuration change, or go to another activity, then return to your ListView.

Cause

At this time, we aren't entirely sure what's causing this issue, but I'd speculate that this is a relatively simple bug somewhere in the framework library. Based on my own experience as a developer, it could be as simple as an event not getting called in the right spot, or not getting called at all.

Workaround

One of the worst things about this bug is the fact that there really is no workaround. No amount of coding hacks seem to be able to get Android to play ball.

Closing

Fast scroll is a feature whose importance greatly varies with the type of app you're writing, but if you need it, this bug is sure to be an annoyance. Fortunately, Google is working on a fix for the issue. It has been marked as "FutureRelease" and will hopefully be fixed sooner rather than later.

Issue #63545

Shawn De Cesari
Shawn is a web developer by day and XDA's resident archivist for Nexus and Google Play Edition device OTA updates by night. When not immersing himself in code or Android, he can be found hunting down antique signs, taking road trips, listening to music, or playing video games. His phone of choice is a Samsung Galaxy Note 4.
  • Anonymous

    This explains a lot. I've been just setting fast scroll always enabled to true, which seems to work.

  • thartist

    Another in the incessant list of kitkat bugs. And it was the android release that got me the most excited since the dear ICS.

    • duck hairs

      Really? i feel ICS to JB was bigger than JB to KK.

      • Nate

        ICS was bigger. If it wasn't for ICS, KitKat wouldn't look the way it does now.

      • thartist

        Yeah well, project butter was interesting but as for a highlight it isn't as significant to me as project svelte + Google Now Launcher. I'm much more excited about design shifts btw. Also hmm you know, there were THREE versions of Jelly Bean to improve on some performance and design basics, but also as a desperate attempt to mask fragmentation when the heat was up on that topic. I didn't love JB, it felt like boring bridge versions to me... :P

        • Robert Christopulos

          JB's fragmentation was certainly one of the problems that you were trying to fix all the time, though 4.2.2 was pretty stable. Unfortunately, the first versions of KitKat did not handle the external sdcard very well, and even now, can't have programs running from it. Also, though it is generally smoother than JB, Kit Kat is nowhere near as stable, needing to be rebooted several times a day, and the latest iteration will not boot or install many of the programs that I've used, and come to rely on for years.

          All in all though, once they get some of these bugs out of the way, I'll be happy as a meadowlark with it

          Shucks, my old Xoom runs as fast as, and does things that most of the newer tablets can't!

          From my Xoom running KitKat 4.4.2, the latest CM11(20140323}. Yes, this is bleeding edge software.

    • Mike Reid

      These are some of the reasons why OEMs take "so long" to push out their new "ROMs".

      Nexus and AOSP are bleeding edge beta programs. Too many people don't seem to understand this and expect "production ready". And they scoff at OEMs who take "so long".

  • Alex James Simon

    Bug watch: Nexus 7 (2013) fatal bootloop... Never rooted or attempted to root it, charged my Nexus 7 for the night on stock charger, woke up to the google screen which was odd, since I turned the screen off before I went to bed. Has been stuck on google screen since Tuesday morning, was running stock android 4.4.2 Kitkat. Factory reset doesn't work, get an Invalid cache error when I attempt to factory reset. Returning under 1 year asus warranty. Any one else have this problem. My tablet is from the June 2013 shipment, I ordered it the first day.

  • fedy

    Too many bugs.
    Why doesn't Google move quickly with breaking its apps and placing them in the play store in addition to having a beta program to test the OS?

    • Andrea Bittau

      Maybe I'm wrong..but it's all about business...If you can earn through an app its better for you to pay attention on it, test sell etc.
      maybe with an os google earn less...
      just my 2 cent.

      • Mike Reid

        It's ALWAYS about business.

  • black
  • b0b

    As mentionned by others, the workaround is to have the fast scroller always visible on KitKat:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    view.setFastScrollAlwaysVisible(true);
    }

    Annoying, but it works.

    • Android Developer

      setting it to larger than kitkat, you assume that this bug will exist even in future versions?

      • Mike Reid

        Better to just assume for now IMO, even if it APPEARS it should be fixed soonish.

        Android has a LONG list of acknowledged "bugs" that have persisted for 2-3+ years.

        And temporary fixes shouldn't be overthought anyway.

        • Android Developer

          seems logical.
          For example, I noticed a bug on 4.3 that still exists today, that I have no idea how to fix:
          if you set the tablet locale to an RTL (Right-to-left) language (like Hebrew), and go to a full screen, landscape app, you won't see any navigation buttons, and you won't be able to show or click them too.

  • Android Developer

    So, till now, Kitkat has gotten quite a few issues:
    1. SD card reduced its purpose.
    2. landscape, full screen apps in RTL locales don't show navigation buttons.
    3.VPN issues.
    4. third party keyboard gets disabled sometimes.
    5.NFC issus on nexus.
    6. services get killed on app stops.
    7. text flow on web pages got disabled.
    8. fast scroll not shown on load (current bug).

    Have I missed anything?

  • Stanley Chan

    Too many bugs ouch! KiKat is a completely fail! Android needs to move on in to the next build hurry!

    • Robert Christopulos

      Nah! Kit Kat is so much better than iOS or Win 8.1, and still performs better, in many ways, than JB or ICS. They'll get things straightened out. I dazzle people with my tablet. By the way, my CPU is running at 1700-not bad for a 3 year old dual core tablet that outperforms many of the quad-cores out there.

  • Nathan Walters

    This was driving me crazy! Glad to know it wasn't a problem on my end.

Quantcast