{ "id": "165066", "key": "AC-4686", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "2", "description": "The problem described is an issue which will never be fixed.", "name": "Won't Fix" }, "resolutiondate": "2016-12-19T20:41:36.000+0000", "created": "2016-12-19T16:05:45.000+0000", "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "shossain", "key": "shossain", "displayName": "Shak Hossain", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2016-12-19T20:41:36.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [], "description": "*Description*\r\n\r\nIn order to create an horizontal ListView or TableView, it's necessary to rotate -90º the element, and rotate 90º the ListItem or TableViewRow respectively.\r\n\r\nThis horizontal scroller push results to the beginning and the end of the list, since ListView is better for performance, it was my choice.\r\n\r\nIn android I think this is possible with the *ExpandableListView*\r\n\r\n*Problem*\r\n\r\nIt's almost impossible to get the sub item reference, I've tried 3 different approaches, I will list here some tests that I've made, and the problems that I've found.\r\n\r\nIf one of these could work, the perfect one would be the first:\r\n\r\n*1# - ListView inside ListItem OR sub items in each ListItem*\r\n\r\nEach ListItem Template has a View, according to the received data, it's created an common JS ListView.\r\n\r\n* There are no way to know the index of the selected ListItem of the inner ListView;\r\n* After some scrolls on the main ListView, the data of each ListView changes between ListItems, repeating and reordering inner ListViews inside the main ListItems that were not supposed to have that;\r\n\r\n[some info at the end of the ticket]\r\n\r\n*2# - TableView inside ListItem*\r\n\r\nEach ListItem Template has a TableView, according to the received data, it's created and array of TableViewRows and set as the data of the ListItem table bindId.\r\n\r\n* There are no way to know the index of the selected TableViewRow;\r\n* After some scrolls on the ListView, the data of each TableView changes between ListItems, repeating and reordering TableViewRows inside TableViews that were not supposed to have that;\r\n\r\n*3# - ScrollView inside ListItem*\r\n\r\nEach ListItem Template has a ScrollView.\r\n\r\n*If the ScrollView children were added by the ListItem properties, there is no way to get the reference of the selected View;\r\n*If the ScrollView children were created in the ListItem Template (alloy), I need to add a specific number of Views, so, there will be very unused Views inside ScrollViews, and cases that there are no sufficient innser Views to use, but its possible to get the bindId (subitem1, subitem2 ...). [This is the way that I'm using now]\r\n\r\n*Result*\r\n\r\nIn this print, I was using an inner TableView, but because the repeating and reordering data, the result is the same but with a ScrollView:\r\n\r\n!https://i.stack.imgur.com/Kplu0.jpg!\r\n\r\n*Columns/Cells in Tables*\r\n\r\nI've to show the data in a ListView, but I need to have a specific number os columns/cells, so I've created 12 ListItem Templates, one for each case (with a limit of 12 columns/cells). With this concept of sub items, there will be need just one ListItem Template. Some prints:\r\n\r\n!tables.jpg|thumbnail!\r\n\r\n\r\n\r\n\r\n", "attachment": [ { "id": "61111", "filename": "tables.jpg", "author": { "name": "ricardo_jcp", "key": "ricardo_jcp", "displayName": "Ricardo Pereira", "active": true, "timeZone": "Europe/Lisbon" }, "created": "2016-12-19T16:05:02.000+0000", "size": 131187, "mimeType": "image/jpeg" } ], "flagged": false, "summary": "ListView: support for subitems OR add support for TableView inside ListItem OR add support for ListView inside ListItem", "creator": { "name": "ricardo_jcp", "key": "ricardo_jcp", "displayName": "Ricardo Pereira", "active": true, "timeZone": "Europe/Lisbon" }, "subtasks": [], "reporter": { "name": "ricardo_jcp", "key": "ricardo_jcp", "displayName": "Ricardo Pereira", "active": true, "timeZone": "Europe/Lisbon" }, "environment": "android & iOS", "comment": { "comments": [ { "id": "403636", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hey Ricardo, sorry, but this is no feature we will plan to expose. The use-case represents a very non-native behavior and could be realized using a combination of horizontal- and vertical-aligned view (scroll view container with horizontal views, vertical views inside there for the content). \r\n\r\nEverything else is really bad practise, I hope the explanation makes sense for you. Thx!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-12-19T20:41:36.000+0000", "updated": "2016-12-19T20:41:36.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }