Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-16244] TiAPI: Add scroll end/start events for ListView

GitHub Issuen/a
TypeNew Feature
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2015-04-07T17:53:35.000+0000
Affected Version/sRelease 3.2.0
Fix Version/sRelease 4.1.0
ComponentsTiAPI
Labelsapi, ios, module_listview, notable, qe-manualtest, qe-testadded
ReporterDavid He
AssigneePedro Enrique
Created2014-01-20T02:22:03.000+0000
Updated2015-06-16T17:55:10.000+0000

Description

Confirmed these two events are left unimplemented in latest SDK 3.2.0. Really demand for them. Thanks

Comments

  1. Ritu Agrawal 2014-01-20

    There appears to be some confusion about Scroll Start / End events. TIMOB-14317 indicates that these events were implemented but the documentation and code suggests otherwise. https://github.com/appcelerator/titanium_mobile/pull/4086 pull request contains the discussion around this functionality but not sure of the outcome of these specific events. Moving this request to engineering to clarify.
  2. Sabil Rahim 2014-01-24

    [~ragrawal] The PR you are referencing was never merged into the SDK. it was a community PR and since the community member declined to sign the CLA the PR was closed out. Scroll events on the ListView are implemented as marker event. Read documentation for more details : http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.ListView-event-marker
  3. David He 2014-01-29

    Hi Sabli *marker* event does not meet my need as it is documented as only fired once. So, there is no plan to implement scroll end/start events?
  4. Martijn Kooij 2014-02-10

    I also need the 'scroll' event in the same manner as it was in TableView, "Fired when the table view is scrolled." http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.TableView-event-scroll
  5. Bert Grantges 2014-03-20

    As ListView is written, there is no way to understand which direction the user is scrolling when the marker is fired. Also, as you can only set one marker - there is no way to properly do lazy loading using a list view. Ideally the marker event would: - Provide a direction property similar to the swipe event Ideally you could set two markers so i would understand the bounds of my list and begin loading data accordingly - adding and removing content as required. Let's get this in :)
  6. Martijn Kooij 2014-04-15

    Any activity here? I really need this, stuck migration from tableview to listview on this alone... And no workaround available...
  7. David He 2014-10-29

    Any updates with this highly demanded feature?
  8. Hans Knöchel 2014-12-01

    This feature was downranked multiple times. Is there currently a work in progress? The release 3.6.0 seems really far away!
  9. Shannon Hicks 2014-12-01

    Everything slated for 3.5.0 got bumped to a new version name, 3.6.0. It's not /that/ far off. This is because the 3.5.0 release is now focused on making Titanium iOS 64-bit ready way before Apple's Feb 1 deadline.
  10. Jason Kotchoff 2015-01-08

    +1 for this.
  11. Mark Mokryn 2015-01-18

    +1
  12. Ygor Lemos 2015-03-18

    +1
  13. Pedro Enrique 2015-03-26

    I have created a Pull Request, if anyone is willing to help test, please do so and report feedback. Thanks! PR: https://github.com/appcelerator/titanium_mobile/pull/6746 Test code:
        listView.addEventListener('scrollstart', function(e) {
        	Ti.API.info('----------------------------');
        	Ti.API.info(
                'START firstVisibleSectionIndex: ' + e.firstVisibleSectionIndex + 
                ' firstVisibleItemIndex: ' + e.firstVisibleItemIndex + 
                ' firstVisibleSection: ' + e.firstVisibleSection +
                ' firstVisibleItem: ' + e.firstVisibleItem +
                ' visibleItemCount: ' + e.visibleItemCount
                );
        });
        listView.addEventListener('scrollend', function(e){
            Ti.API.info(
                'END firstVisibleSectionIndex: ' + e.firstVisibleSectionIndex + 
                ' firstVisibleItemIndex: ' + e.firstVisibleItemIndex + 
                ' firstVisibleSection: ' + e.firstVisibleSection +
                ' firstVisibleItem: ' + e.firstVisibleItem +
                ' visibleItemCount: ' + e.visibleItemCount
                );
        	Ti.API.info('----------------------------');
        });
        
  14. Tapani Moilanen 2015-04-15

    So this is marked as resolved, but is marked as to be released in SDK 4.1.0? Why not 4.0.0, this is a highly requested feature that's been open for over a year, and it's going to be yet delayed. This is holding back many transitions from tableviews, and new applications implementing listviews. Also, seeing the release schedule of the past year, 4.1.0 will probably take quite a while, considering the fact that over 4 months ago there was a comment about 3.6.0 not being /that/ far off, and it still hasn't been released. Just my two cents about the priority of this issue.
  15. Ingo Muschenetz 2015-04-15

    It's a large change, and we are past code freeze for 4.0 (which was previously named 3.6), so it's unlikely we can take it in 4.0. However, you are more than welcome to backport the fix into a custom SDK version if you'd like to use it ahead o the release date.
  16. Lokesh Choudhary 2015-06-16

    Verified the feature implementation. Scrollstart & scrollend events are fired as expected for a listview. Closing. Environment: Appc Studio : 4.1.0.201505071004 Ti SDK : 4.1.0.v20150614181235 Ti CLI : 4.0.1 Alloy : 1.6.2 MAC Yosemite : 10.10.3 Appc npm : 4.0.1 Appc CLI : 4.0.2 Node: v0.10.37 Nexus 5 - Android 5.1.1

JSON Source