{ "id": "124012", "key": "TIMOB-16115", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "16586", "description": "Release 3.4.2", "name": "Release 3.4.2", "archived": false, "released": true, "releaseDate": "2017-03-11" }, { "id": "16704", "description": "Release 3.5.0", "name": "Release 3.5.0", "archived": false, "released": true, "releaseDate": "2015-01-13" }, { "id": "16593", "description": "Release 4.0.0", "name": "Release 4.0.0", "archived": false, "released": true, "releaseDate": "2015-05-21" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2014-11-25T07:15:11.000+0000", "created": "2013-12-19T02:56:14.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "animated", "listview", "module_listview", "qe-3.2.1", "qe-manualtest" ], "versions": [ { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" }, { "id": "15856", "description": "Release 3.2.1", "name": "Release 3.2.1", "archived": false, "released": true, "releaseDate": "2014-02-10" } ], "issuelinks": [ { "id": "42636", "type": { "id": "10011", "name": "Includes", "inward": "is included by", "outward": "includes" }, "outwardIssue": { "id": "136091", "key": "TIMOB-17620", "fields": { "summary": "iOS: Unable to disable animation for ListSection.*Items(At) methods", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "35790", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "123774", "key": "TIMOB-15999", "fields": { "summary": "Android: Disable scrollToItem animation on ListView ", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "38313", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "131577", "key": "AC-1505", "fields": { "summary": "iOS: Unable to disable animations in ListView...", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "38312", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "131581", "key": "TIMOB-17138", "fields": { "summary": "iOS: Unable to disable animations in ListView when appending multiple rows", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2014-11-25T07:15:11.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "h3. Reproduce Step\r\n# Run below test code. (case1 & case2)\r\n# You can see wired section animation\r\n\r\n\r\nh3. actual Result\r\nsee this video : http://screencast.com/t/rajjRG1g\r\nWhen items.length is same, it work properly.\r\nBut if items.length is changed, it work with wired animation\r\n\r\n{code}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor : 'white'\r\n});\r\n\r\nvar listView = Ti.UI.createListView();\r\nvar section = Ti.UI.createListSection();\r\nlistView.sections = [section];\r\n\r\nvar items = [];\r\n\r\nvar i=0;\r\nsetInterval(function(){\r\n items.push({\r\n properties : {\r\n title : 'Item '+ i++\r\n }\r\n });\r\n // case 1 : animated = false \r\n /*\r\n section.setItems(items,{\r\n animated : false\r\n });\r\n */\r\n // case 2 : animationStyle = Ti.UI.iPhone.RowAnimationStyle.NONE\r\n section.setItems(items,{\r\n animationStyle : Ti.UI.iPhone.RowAnimationStyle.NONE\r\n });\r\n},1000);\r\n\r\n\r\nwin.add(listView);\r\nwin.open();\r\n{code}\r\n\r\nh3. Expected Result\r\nIf set animated to false or animationStyle to NONE, there are no animation. \r\n\r\n\r\n", "attachment": [], "flagged": false, "summary": "iOS: Unable to disable animation when using ListView.setItems()", "creator": { "name": "yomybaby", "key": "yomybaby", "displayName": "Jong Eun Lee", "active": true, "timeZone": "Asia/Tokyo" }, "subtasks": [], "reporter": { "name": "yomybaby", "key": "yomybaby", "displayName": "Jong Eun Lee", "active": true, "timeZone": "Asia/Tokyo" }, "environment": "Ti SDK 3.2.0.v20131210191510\r\niOS 7 simulator & device( iphone5 )", "closedSprints": [ { "id": 161, "state": "closed", "name": "2014 Sprint 16 SDK", "startDate": "2014-08-04T22:09:18.566Z", "endDate": "2014-08-15T00:00:00.000Z", "completeDate": "2014-08-18T21:17:18.487Z", "originBoardId": 114 }, { "id": 241, "state": "closed", "name": "2014 Sprint 22 SDK", "startDate": "2014-10-27T22:25:43.407Z", "endDate": "2014-11-08T01:00:00.000Z", "completeDate": "2014-11-10T20:10:00.899Z", "originBoardId": 114 }, { "id": 175, "state": "closed", "name": "2014 Sprint 17 SDK", "startDate": "2014-08-21T22:07:00.000Z", "endDate": "2014-08-30T00:00:00.000Z", "completeDate": "2014-09-02T19:56:25.517Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "287192", "author": { "name": "shineethhamza", "key": "shineethhamza", "displayName": "Shineeth Hamza", "active": true, "timeZone": "Asia/Kolkata" }, "body": "This the default behaviour in iOS if we reload TableView Section with animation UITableViewRowAnimationNone (i.e Ti.UI.iPhone.RowAnimationStyle.NONE or we haven't set any animation). To get neat reload we have to use Ti.UI.iPhone.RowAnimationStyle.FADE i.e equal to UITableViewRowAnimationFade in iOS.", "updateAuthor": { "name": "shineethhamza", "key": "shineethhamza", "displayName": "Shineeth Hamza", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2014-01-08T10:19:39.000+0000", "updated": "2014-01-08T10:19:39.000+0000" }, { "id": "291120", "author": { "name": "bcproductions", "key": "bcproductions", "displayName": "Ed", "active": true, "timeZone": "America/Havana" }, "body": "I'm seeing this bug as well with TableViews. I use appendRow() with Ti.UI.iPhone.RowAnimationStyle.NONE and animated:false, yet the animation is rendered. I believe I started noticing this problem after the 3.2.0GA upgrade. Any work arounds?", "updateAuthor": { "name": "bcproductions", "key": "bcproductions", "displayName": "Ed", "active": true, "timeZone": "America/Havana" }, "created": "2014-02-04T14:32:24.000+0000", "updated": "2014-02-04T14:32:24.000+0000" }, { "id": "291232", "author": { "name": "wluu", "key": "wluu", "displayName": "Wilson Luu", "active": false, "timeZone": "America/Los_Angeles" }, "body": "This issue is reproducible on both iOS 7 and 6; if you set animated to false or animationStyle to Ti.UI.iPhone.RowAnimationStyle.NONE, then rows are still being animated when added to the ListView. \n\nTested on:\n\nAppcelerator Studio, build: 3.2.1.201401311225\nSDK build: 3.2.0.GA, 3.2.1.v20140203174850 \nCLI: 3.2.1-beta3\nAlloy: 1.3.1-cr\nXcode: 5.0.2\nDevices: iphone 5 (6.1.3), iphone 5s (7.0.2)", "updateAuthor": { "name": "wluu", "key": "wluu", "displayName": "Wilson Luu", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-02-04T21:51:33.000+0000", "updated": "2014-02-04T21:51:33.000+0000" }, { "id": "293708", "author": { "name": "athorne", "key": "athorne", "displayName": "Alex Bernier", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Just to add some information, still seeing this on SDK and CLI 3.2.1.GA, iPhone 5.", "updateAuthor": { "name": "athorne", "key": "athorne", "displayName": "Alex Bernier", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-02-19T02:51:25.000+0000", "updated": "2014-02-19T02:51:25.000+0000" }, { "id": "294352", "author": { "name": "bcproductions", "key": "bcproductions", "displayName": "Ed", "active": true, "timeZone": "America/Havana" }, "body": "Our app uses a lot of tableviews and listviews, and fast-swtiching between them. The inability to disable the animation is really a problem as it makes the lists appear sluggish. Hoping for a quick fix for this. SDK 3.2.1.GA, iPhone 4/5s.", "updateAuthor": { "name": "bcproductions", "key": "bcproductions", "displayName": "Ed", "active": true, "timeZone": "America/Havana" }, "created": "2014-02-24T15:31:47.000+0000", "updated": "2014-02-24T15:31:47.000+0000" }, { "id": "296559", "author": { "name": "davehudson", "key": "davehudson", "displayName": "Dave Hudson", "active": true, "timeZone": "Europe/London" }, "body": "This is a major issue for ListView and setMarker to load in more results. Every time the user reaches the setMarker to load more data from the API the whole list refreshes. This needs to be resolved ASAP to make ListView function as documented, still an issue in SDK 3.2.2 iPhone.", "updateAuthor": { "name": "davehudson", "key": "davehudson", "displayName": "Dave Hudson", "active": true, "timeZone": "Europe/London" }, "created": "2014-03-11T13:37:56.000+0000", "updated": "2014-03-11T13:37:56.000+0000" }, { "id": "296657", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "We are escalating this issue, but it appears there may not be a way to disable the animation from the iOS side. Is there a difference with iOS 7.1, as that has sped up animation substantially?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-03-11T19:10:49.000+0000", "updated": "2014-03-11T19:10:49.000+0000" }, { "id": "296719", "author": { "name": "bcproductions", "key": "bcproductions", "displayName": "Ed", "active": true, "timeZone": "America/Havana" }, "body": "Upgraded to iOS 7.1. While the animations do seem a bit faster, the net effect is still sluggish when loading/appending several items to a listview or a tableview. SDK 3.2.2GA / iOS 7.1 / iPhone 5s.", "updateAuthor": { "name": "bcproductions", "key": "bcproductions", "displayName": "Ed", "active": true, "timeZone": "America/Havana" }, "created": "2014-03-12T03:59:06.000+0000", "updated": "2014-03-12T03:59:06.000+0000" }, { "id": "301353", "author": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Doing setItems readds all the items to the tableview and causes the rows to animate. try using appendItems.\n{code}\nvar win = Ti.UI.createWindow({\n backgroundColor : 'white'\n});\n \nvar listView = Ti.UI.createListView();\nvar section = Ti.UI.createListSection();\nlistView.sections = [section];\n \nvar items = [];\nitems.push({\n properties : {\n title : 'Item 0'\n }\n }); \nvar i=0;\nsetInterval(function(){\n \n // case 1 : animated = false \n /*\n section.setItems(items,{\n animated : false\n });\n */\n // case 2 : animationStyle = Ti.UI.iPhone.RowAnimationStyle.NONE\n section.appendItems(items,{\n animationStyle : Ti.UI.iPhone.RowAnimationStyle.NONE\n });\n},1000);\n \n \nwin.add(listView);\nwin.open();\n{code}", "updateAuthor": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-04-17T23:15:49.000+0000", "updated": "2014-04-17T23:15:49.000+0000" }, { "id": "301521", "author": { "name": "rtlechuga", "key": "rtlechuga", "displayName": "Radamantis Torres-Lechuga", "active": false, "timeZone": "Asia/Dubai" }, "body": "Resolving as won't fix since [~srahim] posted a way to append rows to the listView", "updateAuthor": { "name": "rtlechuga", "key": "rtlechuga", "displayName": "Radamantis Torres-Lechuga", "active": false, "timeZone": "Asia/Dubai" }, "created": "2014-04-18T23:56:06.000+0000", "updated": "2014-04-18T23:56:06.000+0000" }, { "id": "302003", "author": { "name": "applification", "key": "applification", "displayName": "Dave Hudson", "active": true, "timeZone": "Europe/London" }, "body": "We are using what is presumably the recommended approach by Appcelerator of Alloy databinding with models / collections. As far as I'm aware we therefore don't have an option of using appendItems as the Backbone model takes care of binding the data.\r\n\r\nWhen loading more items we use a backbone fetch. If we pass in the option add: true as per the docs http://docs.appcelerator.com/backbone/0.9.2/#Collection-fetch then it does indeed add to the collection but we get the list view flickering as it re-loads the entire list. \r\n\r\nWhat would your advice be in this scenario?\r\n\r\nTo be clear, this works fine on Android, it is an iOS only issue that just seems to require the animation to be disabled.", "updateAuthor": { "name": "applification", "key": "applification", "displayName": "Dave Hudson", "active": true, "timeZone": "Europe/London" }, "created": "2014-04-22T08:24:13.000+0000", "updated": "2014-04-22T08:24:13.000+0000" }, { "id": "302240", "author": { "name": "bcproductions", "key": "bcproductions", "displayName": "Ed", "active": true, "timeZone": "America/Havana" }, "body": "I know this ticket has been marked as \"Won't Fix\", but I don't think the solution offered by Sabil of using \"appendItems\" really solves anything, as the row animations still seem to be there even with appendItems.\r\n\r\nThe following sample code shows a TableView and a ListView side by side, with an interval that both \"sets\" and \"appends\" items. As you can see, the TableView respects the disabled animations for both set and append, while the ListView does not seem to.\r\n\r\nHopefully someone can offer a good work around for this, or re-open the ticket for a real fix to the issue. The animation delay of this sample appears trivial, but when you have very complex templated ListItems and hundreds of items, the net effect is very sluggish with the ListView. \r\n\r\napp.js\r\n{code}\r\nvar win = Ti.UI.createWindow({ backgroundColor : 'white' });\r\n \r\nvar tableView = Ti.UI.createTableView({ width: 160, top: 34, left: 0, headerTitle: 'TableView' });\r\nvar listView = Ti.UI.createListView({ width: 160, top: 20, left: 160, headerTitle: 'ListView' });\r\nvar section = Ti.UI.createListSection();\r\nlistView.sections = [section];\r\n \r\n \r\nvar tvSet = [], lvSet = [];\r\nfor (var i = 0; i < 5; i++) {\r\n\ttvSet.push({ title : 'Set ' + i });\r\n\tlvSet.push({ properties : { title : 'Set ' + i } }); \r\n}\r\n\r\n\r\nvar tvAppend = [], lvAppend = [];\r\nfor (var i = 0; i < 50; i++) {\r\n\ttvAppend.push({ title : 'Append ' + i });\r\n\tlvAppend.push({ properties : { title : 'Append ' + i } }); \r\n}\r\n\r\n\r\nsetInterval(function() {\r\n\t\r\n\ttableView.setData(tvSet, { animated : false });\r\n\tsection.setItems(lvSet, { animated : false });\r\n\t\r\n\tsetTimeout(function() {\r\n\t\ttableView.appendRow(tvAppend, { animationStyle : Ti.UI.iPhone.RowAnimationStyle.NONE });\r\n\t\tsection.appendItems(lvAppend, { animationStyle : Ti.UI.iPhone.RowAnimationStyle.NONE });\r\n\t}, 3000);\r\n\t\r\n}, 6000);\r\n\r\n\r\nwin.add(tableView);\r\nwin.add(listView);\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "bcproductions", "key": "bcproductions", "displayName": "Ed", "active": true, "timeZone": "America/Havana" }, "created": "2014-04-23T18:28:23.000+0000", "updated": "2014-04-23T18:28:23.000+0000" }, { "id": "305678", "author": { "name": "ekafeel", "key": "ekafeel", "displayName": "Ehtesham Kafeel", "active": true, "timeZone": "America/Los_Angeles" }, "body": "setItems, appendItems don't work without animation. The only workaround to avoid animation is to create ListSection every time you want to populate the list and assign it to the sections property of list. Here's how to do it.\r\n\r\n{code:title=app.js|borderStyle=solid}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor : 'white'\r\n});\r\n \r\nvar listView = Ti.UI.createListView();\r\n \r\nvar items = [];\r\nfor (var j = 0; j < 1000; j++) {\r\n\titems.push({\r\n properties : {\r\n title : 'Item ' + j\r\n }\r\n }); \r\n}\r\n\r\nvar populate = function() {\r\n\t\r\n\tvar section = Ti.UI.createListSection();\r\n\t\r\n\tlistView.deleteSectionAt(0);\r\n \r\n setTimeout(function () {\r\n \tsection.appendItems(items, {\r\n\t\t\tanimated : false,\r\n\t animationStyle : Ti.UI.iPhone.RowAnimationStyle.NONE\r\n\t });\r\n\t\r\n\t\tlistView.sections = [section];\r\n }, 500);\r\n \r\n setTimeout(populate, 2000); \r\n};\r\n\r\npopulate();\r\n \r\nwin.add(listView);\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "ekafeel", "key": "ekafeel", "displayName": "Ehtesham Kafeel", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-05-20T13:22:21.000+0000", "updated": "2014-05-20T13:22:21.000+0000" }, { "id": "305699", "author": { "name": "bcproductions", "key": "bcproductions", "displayName": "Ed", "active": true, "timeZone": "America/Havana" }, "body": "Ehtesham, thanks for the reply. Your code works well for setting the initial list view data, but every time you re-bind [section] to the list view the old section still has an animation effect when it is removed. Thus, the problem is still there. \r\n\r\nI have several list views that have complex layouts and lots of rows. They are very dynamic, with items being inserted and re-positioned programatically. The animation is a problem as it makes the ui feel sluggish. This problem is not present with TableView (as you can see from my sample code above), so I don't understand why the animation cannot be disabled with a list view. \r\n\r\nAnyways, if this is simply going to be the case, then the Ti documentation should be updated to properly indicate that animations cannot be disabled with a ListView. \r\n\r\nThanks.\r\n-Ed", "updateAuthor": { "name": "bcproductions", "key": "bcproductions", "displayName": "Ed", "active": true, "timeZone": "America/Havana" }, "created": "2014-05-20T15:06:01.000+0000", "updated": "2014-05-20T15:06:01.000+0000" }, { "id": "310337", "author": { "name": "moshebox@gmail.com", "key": "moshebox@gmail.com", "displayName": "Moshe Marciano", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "I confirm, the bug still exists with setItems and in some cases with appendItems as well\r\n\r\n{code}\r\n\t$.list.sections[0].setItems(data, {\r\n\t\t\tanimated : false,\r\n animationStyle : Ti.UI.iPhone.RowAnimationStyle.NONE\r\n\t});\r\n{code}\r\n", "updateAuthor": { "name": "moshebox@gmail.com", "key": "moshebox@gmail.com", "displayName": "Moshe Marciano", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2014-06-21T18:08:49.000+0000", "updated": "2014-06-21T18:09:26.000+0000" }, { "id": "315849", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "This tickets needs to be reopened and properly examined. The docs says there's a {{animated}} property to disable the animation, so it should either work or not be there. The workarounds mentioned above neither work nor make sense.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2014-07-25T18:20:33.000+0000", "updated": "2014-07-25T18:20:33.000+0000" }, { "id": "316026", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Reopening to re-discuss.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-07-28T18:31:54.000+0000", "updated": "2014-07-28T18:31:54.000+0000" }, { "id": "316033", "author": { "name": "colorhat", "key": "colorhat", "displayName": "Tobias Høegh", "active": true, "timeZone": "Europe/Oslo" }, "body": "Hope this will be fixed (soon?). It's not only visually, we talk here about unnecessary power consumption. Animation of larger lists makes it appear sluggish. I only wonder why the Kitchen Sink app don't have animation on the ListView examples like the bug here (of corse, there is a good animation example...). ", "updateAuthor": { "name": "colorhat", "key": "colorhat", "displayName": "Tobias Høegh", "active": true, "timeZone": "Europe/Oslo" }, "created": "2014-07-28T19:05:35.000+0000", "updated": "2014-07-28T19:05:35.000+0000" }, { "id": "318422", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Additional test case\r\n{code}\r\nfunction getData(max,thetitle){\r\n var data = [];\r\n var index = 0;\r\n while (index < max) {\r\n data.push({properties: {title:'Item - Animation '+thetitle}});\r\n index = index + 1;\r\n }\r\n\r\n return data;\r\n}\r\n\r\nfunction list_setitems() {\r\n var win = Ti.UI.createWindow({\r\n backgroundColor:'white',\r\n fullscreen:true\r\n });\r\n \r\n win.layout = 'vertical'\r\n var button = Ti.UI.createButton({\r\n title:'START TEST'\r\n })\r\n \r\n var section = Ti.UI.createListSection();\r\n var listView = Ti.UI.createListView({\r\n sections: [ section ]\r\n })\r\n\r\n win.add(button);\r\n win.add(listView);\r\n \r\n var animationStyles = {\r\n 'None': Ti.UI.iPhone.RowAnimationStyle.NONE,\r\n 'Left': Ti.UI.iPhone.RowAnimationStyle.LEFT,\r\n 'Right': Ti.UI.iPhone.RowAnimationStyle.RIGHT,\r\n 'Top': Ti.UI.iPhone.RowAnimationStyle.TOP,\r\n 'Bottom': Ti.UI.iPhone.RowAnimationStyle.BOTTOM,\r\n 'Fade': Ti.UI.iPhone.RowAnimationStyle.FADE,\r\n };\r\n var animationsArray = ['None', 'Left', 'Right', 'Top', 'Bottom', 'Fade'];\r\n \r\n var interval = null;\r\n var i = 0;\r\n var j = 1;\r\n var testcount = 0;\r\n button.addEventListener('click',function(){\r\n button.enabled = false;\r\n interval = setInterval(function() {\r\n var type = animationsArray[i];\r\n section.setItems(getData(j,type), { animationStyle: animationStyles[type] });\r\n i = (i + 1) % animationsArray.length;\r\n testcount = testcount + 1;\r\n if (testcount % 4 == 0) {\r\n j = (j % 7) + 1;\r\n }\r\n\r\n if (testcount == 100) {\r\n clearInterval(interval); \r\n button.enabled = true; \r\n }\r\n }, 600);\r\n })\r\n \r\n return win;\r\n};\r\n\r\nvar theWin = list_setitems();\r\ntheWin.open();\r\n{code}", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-08-13T12:15:09.000+0000", "updated": "2014-08-13T12:15:09.000+0000" }, { "id": "318423", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Pull pending against master\r\nhttps://github.com/appcelerator/titanium_mobile/pull/5968", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-08-13T12:16:23.000+0000", "updated": "2014-08-13T12:16:23.000+0000" }, { "id": "318989", "author": { "name": "bcproductions", "key": "bcproductions", "displayName": "Ed", "active": true, "timeZone": "America/Havana" }, "updateAuthor": { "name": "bcproductions", "key": "bcproductions", "displayName": "Ed", "active": true, "timeZone": "America/Havana" }, "created": "2014-08-16T19:27:14.000+0000", "updated": "2014-08-16T19:27:14.000+0000" }, { "id": "319466", "author": { "name": "farwayer", "key": "farwayer", "displayName": "Far", "active": true, "timeZone": "Europe/Minsk" }, "body": "Why it was marked as resolved? setItem() with animated=false or animationStyle=Titanium.UI.iPhone.RowAnimationStyle.NONE is still not working.", "updateAuthor": { "name": "farwayer", "key": "farwayer", "displayName": "Far", "active": true, "timeZone": "Europe/Minsk" }, "created": "2014-08-20T12:50:02.000+0000", "updated": "2014-08-20T12:50:02.000+0000" }, { "id": "319469", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "It is marked as resolved because it is fixed in the 3.4.0 version of the SDK. If you'd like to test, please do so against the current CI builds from the master branch. See http://builds.appcelerator.com/#master.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-08-20T13:36:03.000+0000", "updated": "2014-08-20T13:36:03.000+0000" }, { "id": "319471", "author": { "name": "farwayer", "key": "farwayer", "displayName": "Far", "active": true, "timeZone": "Europe/Minsk" }, "body": "Oh, sry, it's my bad. I build SDK but forget to install it...", "updateAuthor": { "name": "farwayer", "key": "farwayer", "displayName": "Far", "active": true, "timeZone": "Europe/Minsk" }, "created": "2014-08-20T14:19:34.000+0000", "updated": "2014-08-20T14:19:34.000+0000" }, { "id": "319698", "author": { "name": "bcproductions", "key": "bcproductions", "displayName": "Ed", "active": true, "timeZone": "America/Havana" }, "updateAuthor": { "name": "bcproductions", "key": "bcproductions", "displayName": "Ed", "active": true, "timeZone": "America/Havana" }, "created": "2014-08-21T14:36:27.000+0000", "updated": "2014-08-21T14:36:27.000+0000" }, { "id": "319767", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~emerriman] can you verify?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-08-21T19:58:42.000+0000", "updated": "2014-08-21T19:58:42.000+0000" }, { "id": "320039", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested and verified there is no animation, when using ListView.setItems()\r\nEnvironment tested\r\nMac osx 1-.9.4 Maverics\r\nAppcelerator Studio, build: 3.4.0.201408201526\r\nTitanium SDK, build: 3.4.0.v20140821144114\r\nNode.JS Version: v0.10.28\r\nNPM Path: /usr/local/bin/npm\r\nNPM Version: 1.4.23\r\nacs@1.0.16\r\nalloy@1.5.0-dev (git://github.com/appcelerator/alloy.git#b2e8f580d023e45c63072df924666e58193a8981)\r\ninstall@0.1.7\r\nnpm@1.4.23\r\nsudo@1.0.3\r\ntitanium@3.4.0-dev (git://github.com/appcelerator/titanium.git#9079326639c7f610dafee33dd16742de7d92d795)\r\ntitanium-code-processor@1.1.1\r\nXcode6\r\nDevice: iPhone 5c iOS 7.1\r\n", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-08-22T23:41:52.000+0000", "updated": "2014-08-22T23:41:52.000+0000" }, { "id": "320052", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Is somebody also looking at the insert/append/replace functions or must there be a ticket for that first?", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2014-08-23T05:22:59.000+0000", "updated": "2014-08-23T05:22:59.000+0000" }, { "id": "320339", "author": { "name": "farwayer", "key": "farwayer", "displayName": "Far", "active": true, "timeZone": "Europe/Minsk" }, "body": "Look like it wasn't fully fixed. We still have animation if ListView length different before and after. Simple example:\r\n{code:javascript}\r\nvar flag = false;\r\nvar items1 = [\r\n {properties: {title: 'Cod'}},\r\n {properties: {title: 'Haddock'}},\r\n {properties: {title: 'Fish'}},\r\n {properties: {title: 'Fish'}},\r\n {properties: {title: 'Fish'}},\r\n {properties: {title: 'Fish'}},\r\n {properties: {title: 'Fish'}},\r\n {properties: {title: 'Fish'}},\r\n {properties: {title: 'Fish'}},\r\n {properties: {title: 'Fish'}},\r\n {properties: {title: 'Clam'}}\r\n];\r\nvar items2 = [\r\n {properties: {title: 'Bird'}},\r\n {properties: {title: 'Banana'}},\r\n {properties: {title: 'Soup'}}\r\n];\r\n\r\nvar section = Ti.UI.createListSection();\r\nsection.setItems(items1);\r\n\r\nvar list = Ti.UI.createListView({top: 20});\r\nlist.appendSection(section);\r\nlist.addEventListener('itemclick', function() {\r\n flag = !flag;\r\n section.setItems(flag? items2 : items1, {\r\n animated: false,\r\n animationStyle: Ti.UI.iPhone.RowAnimationStyle.NONE\r\n });\r\n});\r\n\r\nvar win = Ti.UI.createWindow();\r\nwin.add(list);\r\nwin.open();\r\n{code}\r\n\r\nhttps://www.youtube.com/watch?v=-jx6n6hTz1I&list=UUFmvy9r54FhWcOgLrsuALLA", "updateAuthor": { "name": "farwayer", "key": "farwayer", "displayName": "Far", "active": true, "timeZone": "Europe/Minsk" }, "created": "2014-08-26T13:54:54.000+0000", "updated": "2014-08-26T13:54:54.000+0000" }, { "id": "320354", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Reopening.\r\n\r\n[~penrique] and [~fokke] yes, we need a new ticket for the other cases you mention.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-08-26T14:35:53.000+0000", "updated": "2014-08-26T14:35:53.000+0000" }, { "id": "321103", "author": { "name": "jalter", "key": "jalter", "displayName": "Jon Alter", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Confirmed Far's example above is showing an animation. This happens when difference between number of rows being set is 2 or greater.", "updateAuthor": { "name": "jalter", "key": "jalter", "displayName": "Jon Alter", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-08-29T21:07:58.000+0000", "updated": "2014-08-29T21:07:58.000+0000" }, { "id": "321773", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2014-09-04T08:55:47.000+0000", "updated": "2014-09-04T08:55:47.000+0000" }, { "id": "322219", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "From the 2010 WWDC Session(https://developer.apple.com/videos/wwdc/2010/) on Mastering TableViews it seems that we might not be able to fix this.\r\n\r\nThe animation parameter merely defines how the row is (inserted into /deleted from) space, the transitions to update table view geometry are animated regardless of what animation parameter is specified.\r\n\r\nThe only workaround seems to be to call reloadData on the tableView. The equivalent Titanium API on ListView is to set the `sections` property.\r\n\r\n ", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-09-07T05:07:13.000+0000", "updated": "2014-09-07T05:07:13.000+0000" }, { "id": "327006", "author": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The same problem occurs in appendItems, insertItemsAt. Properties `animated` / `animationStyle` are basically ignored.", "updateAuthor": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-10-05T20:12:42.000+0000", "updated": "2014-10-05T20:16:26.000+0000" }, { "id": "330677", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Test case from TIMOB-17620\r\n{code}\r\nvar items = [\r\n {properties: {title: 'Cod'}},\r\n {properties: {title: 'Haddock'}},\r\n {properties: {title: 'Fish'}},\r\n {properties: {title: 'Clam'}}\r\n];\r\n \r\nvar section = Ti.UI.createListSection();\r\nsection.setItems(items);\r\n \r\nvar list = Ti.UI.createListView({\r\n top: 60\r\n});\r\nlist.appendSection(section);\r\n \r\nvar insert = Ti.UI.createButton({\r\n title: 'Insert'\r\n});\r\n \r\ninsert.addEventListener('click', function(e) {\r\n section.insertItemsAt(1, items, {\r\n animated: false,\r\n animationStyle: Ti.UI.iPhone.RowAnimationStyle.NONE\r\n });\r\n});\r\n \r\nvar replace = Ti.UI.createButton({\r\n title: 'Replace'\r\n});\r\n \r\nreplace.addEventListener('click', function(e) {\r\n section.replaceItemsAt(1, 1, items, {\r\n animated: false,\r\n animationStyle: Ti.UI.iPhone.RowAnimationStyle.NONE\r\n });\r\n});\r\n \r\nvar append = Ti.UI.createButton({\r\n title: 'Append'\r\n});\r\n \r\nappend.addEventListener('click', function(e) {\r\n section.appendItems(items, {\r\n animated: false,\r\n animationStyle: Ti.UI.iPhone.RowAnimationStyle.NONE\r\n });\r\n});\r\n \r\nvar set = Ti.UI.createButton({\r\n title: 'Set'\r\n});\r\n \r\nset.addEventListener('click', function(e) {\r\n section.setItems(items, {\r\n animated: false,\r\n animationStyle: Ti.UI.iPhone.RowAnimationStyle.NONE\r\n });\r\n});\r\n \r\nvar toolbar = Ti.UI.iOS.createToolbar({\r\n top: 20,\r\n items: [insert, append, replace, set],\r\n extendBackground: true\r\n});\r\n \r\nvar win = Ti.UI.createWindow();\r\n \r\nwin.add(toolbar);\r\nwin.add(list);\r\n \r\nwin.open();\r\n{code}", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-11-04T17:05:11.000+0000", "updated": "2014-11-04T17:05:11.000+0000" }, { "id": "330679", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Pull pending\r\nmaster - https://github.com/appcelerator/titanium_mobile/pull/6304\r\n3_4_X - https://github.com/appcelerator/titanium_mobile/pull/6305", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-11-04T17:06:21.000+0000", "updated": "2014-11-04T17:13:18.000+0000" }, { "id": "333575", "author": { "name": "kvelummaylum", "key": "kvelummaylum", "displayName": "Kajenthiran Velummaylum", "active": true, "timeZone": "Asia/Shanghai" }, "body": "Verified the Fix on following environment.\r\nClosing the ticket.\r\n\r\nTest Environment:\r\nTitanium SDK: 3.5.0.v20141121153314\r\nAppc-Studio: 3.4.1 GA\r\nTitanium CLI: 3.4.1 GA\r\nAlloy : 1.5.1 GA\r\nXcode : 6.1\r\nOS: OSX 10.10.1\r\nDevice : iPhone 6plus (iOS 8.1)", "updateAuthor": { "name": "kvelummaylum", "key": "kvelummaylum", "displayName": "Kajenthiran Velummaylum", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2014-11-25T07:11:02.000+0000", "updated": "2014-11-25T07:11:02.000+0000" } ], "maxResults": 41, "total": 41, "startAt": 0 } } }