{ "id": "91521", "key": "TIMOB-9041", "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": [], "resolution": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2012-05-15T15:05:23.000+0000", "created": "2012-05-07T18:35:08.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "api" ], "versions": [ { "id": "13272", "description": "Release 2.0.1", "name": "Release 2.0.1", "archived": true, "released": true, "releaseDate": "2012-04-16" } ], "issuelinks": [], "assignee": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-09T23:28:10.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": "Auto Tabbing using Next Key is working only in vertical direction and horizontal direction text fields are skipped. Android native properties must be included so that textfields can use 'android:nextFocusLeft' or 'android:nextFocusDown'.\r\nh4. Repo Steps\r\n1.Run the below code in your app.js\r\n2.Click on the first textfield and press the next key of the keyboard. Auto tabbing is working only in vertical direction and horizontal direction text fields are skipped.\r\n{code}\r\nTitanium.UI.setBackgroundColor('#000');\r\n\r\nvar win = Ti.UI.createWindow({\r\n\texitOnClose : true,\r\n\tfullscreen : true,\r\n\tbackgroundColor : '#ffffff'\r\n});\r\nvar nf = Ti.UI.createTextField({\r\n\theight:40,\r\n\ttop:57,\r\n\tleft:105,\r\n\twidth:144,\r\n\tbackgroundColor: 'yellow',\r\n\tautocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n\tkeyboardType: Titanium.UI.KEYBOARD_DEFAULT\r\n});\r\n\r\nwin.add(nf);       \r\n \r\n \r\n var yearField = Ti.UI.createTextField({\r\n         height :   40,       \r\n   top :   120,   \r\n left :   103,\r\n            width :   54,\r\n backgroundColor: 'red',            \r\n            autocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n            keyboardType : Titanium.UI.KEYBOARD_NUMBER_PAD,\r\n        });\r\n        win.add(yearField);\r\n\r\n        var monthField = Ti.UI.createTextField({\r\n        height :   40,\r\n            top :   120,\r\n            left :   173,\r\n            width :   37,\r\n backgroundColor: 'green',\r\n            autocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n            keyboardType : Titanium.UI.KEYBOARD_NUMBER_PAD,\r\n        });\r\n        win.add(monthField);\r\n\r\n        var dateField = Ti.UI.createTextField({\r\n        height :   40,\r\n            top :   120,\r\n            left :   229,\r\n            width :   37,\r\n backgroundColor: 'blue',\r\n            autocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n            keyboardType : Titanium.UI.KEYBOARD_NUMBER_PAD,\r\n        });\r\n        win.add(dateField);\r\n\r\n        var usernameField = Ti.UI.createTextField({\r\n        height :   40,\r\n            top :   153,\r\n            left :   105,\r\n            width :   144,\r\n \r\n            autocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n            keyboardType : Titanium.UI.KEYBOARD_DEFAULT,\r\n        });\r\n        win.add(usernameField);\r\n\r\n        var passwordField = Ti.UI.createTextField({\r\n        height :   40,    \r\n            top :   205,\r\n            left :   105,\r\n            width :   144,\r\n            autocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n            passwordMask : true,\r\n            keyboardType : Titanium.UI.KEYBOARD_DEFAULT,\r\n\r\n        });\r\n        win.add(passwordField);\r\n\r\n        var repasswordField = Ti.UI.createTextField({\r\n        height :   40,\r\n            top :   255,\r\n            left :   105,\r\n            width :   144,\r\n            autocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n            passwordMask : true,\r\n            keyboardType : Titanium.UI.KEYBOARD_DEFAULT,\r\n        });\r\n        win.add(repasswordField);\r\n\r\n        var letterField = Ti.UI.createTextField({\r\n        height :   40,\r\n            top :   286,\r\n            left :   105,\r\n            width :   144,\r\n            autocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n            keyboardType : Titanium.UI.KEYBOARD_DEFAULT,\r\n        });\r\n        win.add(letterField);\r\n\r\n        var numberField = Ti.UI.createTextField({\r\n        height :   40,\r\n            top :   320,\r\n            left :   105,\r\n            width :   48,\r\n            autocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n            keyboardType : Titanium.UI.KEYBOARD_NUMBER_PAD,\r\n        });\r\n        win.add(numberField);\r\n\r\n        var numberField1 = Ti.UI.createTextField({\r\n        height :   40,\r\n            top :   320,\r\n            left :   165.5,\r\n            width :   48,\r\n            autocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n            keyboardType : Titanium.UI.KEYBOARD_NUMBER_PAD,\r\n        \r\n        });\r\n        win.add(numberField1);\r\n\r\n        var numberField2 = Ti.UI.createTextField({\r\n        height :   40,\r\n            top :   320,\r\n            left :   225,\r\n            width :   49,              \r\n            autocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n            keyboardType : Titanium.UI.KEYBOARD_NUMBER_PAD,\r\n\r\n        });\r\n        win.add(numberField2);\r\nwin.open();\r\n{code} ", "attachment": [], "flagged": false, "summary": "Android: Auto Tabbing using Next Key is working only in vertical direction and horizontal direction text fields are skipped.", "creator": { "name": "nsharma", "key": "nsharma", "displayName": "Nikhil Sharma", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "nsharma", "key": "nsharma", "displayName": "Nikhil Sharma", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "android 2.2.2\r\nLG Optimus V\r\nTi SDK 2.0.1.GA2", "comment": { "comments": [ { "id": "194884", "author": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This is native behavior on Android. The \"next\" key is wired to search for the next focusable textfield in the down direction (focusSearch(FOCUS_DOWN), in other words). Here are a couple articles regarding this:\r\nhttp://stackoverflow.com/questions/5048586/can-you-set-tab-order-in-xml-layout\r\nhttp://code.google.com/p/android/issues/detail?id=3148", "updateAuthor": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-05-15T13:16:00.000+0000", "updated": "2012-05-15T13:16:00.000+0000" }, { "id": "194890", "author": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Also tested by creating a similar native Android app to compare the behavior. Marking bug as Won't Fix.", "updateAuthor": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-05-15T13:40:39.000+0000", "updated": "2012-05-15T13:40:39.000+0000" }, { "id": "411026", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as invalid.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-09T23:28:10.000+0000", "updated": "2017-03-09T23:28:10.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }