{ "id": "62758", "key": "TIMOB-2126", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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": [], "resolution": { "id": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2020-02-12T15:27:19.000+0000", "created": "2011-04-15T03:11:12.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "core" ], "versions": [ { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" } ], "issuelinks": [], "assignee": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2020-02-12T15:27:19.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": "10202", "name": "Android", "description": "Android Platform" } ], "description": "{html}

Should fire the standard event.

{html}\r\n\r\n", "attachment": [ { "id": "23223", "filename": "app.js", "author": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-10-03T12:41:32.000+0000", "size": 876, "mimeType": "application/x-javascript" } ], "flagged": false, "summary": "Android: Support Scroll Event on Tableview", "creator": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "167668", "author": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "body": "x and y are not fired and neither is contentOffset, making it impossible to know the scroll location. x and y need to be fired on the 'scroll' event.", "updateAuthor": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-10-03T12:39:16.000+0000", "updated": "2011-10-03T12:39:16.000+0000" }, { "id": "167669", "author": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Attached test file.", "updateAuthor": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-10-03T12:41:32.000+0000", "updated": "2011-10-03T12:41:32.000+0000" }, { "id": "187112", "author": { "name": "hans", "key": "hans", "displayName": "hans schoenburg", "active": true, "timeZone": "America/Los_Angeles" }, "body": "up!", "updateAuthor": { "name": "hans", "key": "hans", "displayName": "hans schoenburg", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-19T11:30:03.000+0000", "updated": "2012-03-19T11:30:03.000+0000" }, { "id": "201653", "author": { "name": "egomez", "key": "egomez", "displayName": "Eduardo Gomez", "active": false, "timeZone": "America/Los_Angeles" }, "body": "One may work around using the following Droid properties of Scroll event (firstVisibleItem, totalItemCount, visibleItemCount) - Tested on 2.1.0.GA:\r\n\r\nh6.app.js\r\n{code}\r\nTi.UI.setBackgroundColor('#000');\r\n \r\n var win = Ti.UI.createWindow({\r\n backgroundColor: 'black',\r\n exitOnClose: true,\r\n fullscreen: false,\r\n title: 'TableView Demo'\r\n });\r\n \r\n // generate random number, used to make each row appear distinct for this example\r\n function randomInt(max){\r\n return Math.floor(Math.random() * max) + 1;\r\n }\r\n \r\n var IMG_BASE = 'https://github.com/appcelerator/titanium_mobile/raw/master/demos/KitchenSink/Resources/images/';\r\n var defaultFontSize = Ti.Platform.name === 'android' ? 16 : 14;\r\n \r\n var tableData = [];\r\n \r\n for (var i=1; i<=20; i++){\r\n var row = Ti.UI.createTableViewRow({\r\n className:'forumEvent', // used to improve table performance\r\n selectedBackgroundColor:'white',\r\n rowIndex:i, // custom property, useful for determining the row during events\r\n height:110\r\n });\r\n \r\n var imageAvatar = Ti.UI.createImageView({\r\n image: IMG_BASE + 'custom_tableview/user.png',\r\n left:10, top:5,\r\n width:50, height:50\r\n });\r\n row.add(imageAvatar);\r\n \r\n var labelUserName = Ti.UI.createLabel({\r\n color:'#576996',\r\n font:{fontFamily:'Arial', fontSize:defaultFontSize+6, fontWeight:'bold'},\r\n text:'Fred Smith ' + i,\r\n left:70, top: 6,\r\n width:200, height: 30\r\n });\r\n row.add(labelUserName);\r\n \r\n var labelDetails = Ti.UI.createLabel({\r\n color:'#222',\r\n font:{fontFamily:'Arial', fontSize:defaultFontSize+2, fontWeight:'normal'},\r\n text:'Replied to post with id ' + randomInt(1000) + '.',\r\n left:70, top:44,\r\n width:360\r\n });\r\n row.add(labelDetails);\r\n \r\n var imageCalendar = Ti.UI.createImageView({\r\n image:IMG_BASE + 'custom_tableview/eventsButton.png',\r\n left:70, bottom: 2,\r\n width:32, height: 32\r\n });\r\n row.add(imageCalendar);\r\n \r\n var labelDate = Ti.UI.createLabel({\r\n color:'#999',\r\n font:{fontFamily:'Arial', fontSize:defaultFontSize, fontWeight:'normal'},\r\n text:'on ' + randomInt(30) + ' Nov 2012',\r\n left:105, bottom:10,\r\n width:200, height:20\r\n });\r\n row.add(labelDate);\r\n \r\n tableData.push(row);\r\n }\r\n \r\n var tableView = Ti.UI.createTableView({\r\n backgroundColor:'white',\r\n data:tableData\r\n });\r\n \r\n win.add(tableView);\r\n win.open();\r\n \r\ntableView.addEventListener('scroll', function(e)\r\n{\r\n //Ti.API.info('x|y ' + e.contentOffset.x + '|' + e.contentOffset.y);//it will be undefined indeed ... \r\n Ti.API.info('-------------------');\r\n Ti.API.info( 'firstVisibleItem : Number - Row index of the topmost visible row in the view: ' + e.firstVisibleItem);\r\n Ti.API.info( 'totalItemCount : Number - Total number of rows in the view: ' + e.totalItemCount );\r\n Ti.API.info( 'visibleItemCount : Number - Number of rows currently visible in the view: '+ e.visibleItemCount );\r\n});\r\n{code}", "updateAuthor": { "name": "egomez", "key": "egomez", "displayName": "Eduardo Gomez", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-07-05T13:27:15.000+0000", "updated": "2012-07-05T13:27:15.000+0000" }, { "id": "439791", "author": { "name": "ahutton", "key": "ahutton", "displayName": "Alan Hutton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Occurs on :\r\nSDK : 7.3.0.v20180803101103\r\nCLI : 7.0.4\r\nAndroid Emulator OS 6.0", "updateAuthor": { "name": "ahutton", "key": "ahutton", "displayName": "Alan Hutton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-08-03T21:07:16.000+0000", "updated": "2018-08-03T21:07:16.000+0000" }, { "id": "454218", "author": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "body": "Is already implemented", "updateAuthor": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "created": "2020-02-12T15:27:19.000+0000", "updated": "2020-02-12T15:27:19.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }