{ "id": "83441", "key": "TIMOB-6490", "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": "12089", "description": "", "name": "Sprint 2011-49", "archived": true, "released": true, "releaseDate": "2011-12-12" }, { "id": "12571", "description": "CI for 1_7_X", "name": "Release 1.7.6", "archived": true, "released": false }, { "id": "12580", "description": "Dual Runtime 1.8.0", "name": "Release 1.8.0.1", "archived": true, "released": true, "releaseDate": "2011-12-22" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-12-14T10:50:37.000+0000", "created": "2011-12-06T14:50:14.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [ { "id": "11331", "description": "", "name": "Release 1.8.0", "archived": true, "released": true, "releaseDate": "2011-10-31" }, { "id": "12571", "description": "CI for 1_7_X", "name": "Release 1.7.6", "archived": true, "released": false } ], "issuelinks": [], "assignee": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2014-06-19T12:44:18.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": "After the textfield lose focus, the keyboard is gone but in some case the keyboardToolbar is still left on the screen.\r\n\r\nh4. Repro Steps\r\n1.Build a project based on the following code.\r\n2.Click the first row of testFields and the keyboard will appear.\r\n3.Continuously click the \"next\" button on the keyboardToolbar for 4 times and then click the \"Done\" button on the same keyboardToolbar.\r\n\r\nExpected Result: The keyboardToolbar should be gone with the keyboard.\r\nActual Result: The keyboardToolbar still stays in the middle of the screen while the keyboard is gone.\r\n\r\n{code}\r\nTitanium.UI.setBackgroundColor('#000');\r\nvar datasource=[],textFieldArray=[],table,rowId=1,textFieldId= 0;\r\nvar win1 = Titanium.UI.createWindow({\r\n\ttitle:'Window',\r\n\tbarColor:'#808080',\r\n\r\n});\r\n\r\nfor (i = 0; i <=12; i++) {\r\n\r\n\tvar row = createRows(rowId);\r\n\tdatasource.push(row);\r\n\trowId++;\r\n\r\n}\r\ntable=Titanium.UI.createTableView({\r\n\ttop:0,\r\n\tdata:datasource\r\n})\r\n\r\nwin1.add(table);\r\nfunction createRows(_rowId) {\r\n\tvar row = Titanium.UI.createTableViewRow();\r\n\trow.rowId = _rowId;\r\n\trow.height=60;\r\n\tvar flexSpace = Titanium.UI.createButton({\r\n\t\tsystemButton:Titanium.UI.iPhone.SystemButton.FLEXIBLE_SPACE\r\n\t});\r\n\r\n\tvar navButtons = Titanium.UI.createButtonBar({\r\n\t\tlabels:['Previous','Next'],\r\n\t\tbackgroundColor:'#000',\r\n\t\ttop:100,\r\n\t\tstyle:Titanium.UI.iPhone.SystemButtonStyle.BAR,\r\n\t\theight:25,\r\n\t\twidth:'auto'\r\n\t});\r\n\tvar done = Titanium.UI.createButton({\r\n\t\tsystemButton:Titanium.UI.iPhone.SystemButton.DONE\r\n\t});\r\n\tvar inputTextField = Titanium.UI.createTextField({\r\n\t\tcolor : '#ff7c00',\r\n\t\ttop : 5,\r\n\t\theight : 50,\r\n\t\ttextAlign : 'right',\r\n\t\twidth : '25%',\r\n\t\thintText : '',\r\n\t\tleft : '65%',\r\n\t\tright : '8%',\r\n\t\tkeyboardToolbar : [navButtons,flexSpace,done],\r\n\t\tkeyboardToolbarColor : '#898989',\r\n\t\treturnKeyType : Titanium.UI.RETURNKEY_DEFAULT,\r\n\t\tborderStyle : Titanium.UI.INPUT_BORDERSTYLE_ROUNDED,\r\n\t\tkeyboardType : Titanium.UI.KEYBOARD_NUMBER_PAD,\r\n\t\tfont : {\r\n\t\t\tfontSize : 20,\r\n\t\t\tfontColor : '#ff7c00',\r\n\t\t\tfontWeight : 'bold',\r\n\t\t\tfontFamily : 'Helvetica Neue'\r\n\t\t}\r\n\t});\r\n\tinputTextField.rowId=_rowId\r\n\ttextFieldId = textFieldId + 1;\r\n\tinputTextField.id = textFieldId;\r\n\ttextFieldArray.push(inputTextField);\r\n\tinputTextField\r\n\t.addEventListener(\r\n\t'blur', function(e) {\r\n\t});\r\n\tnavButtons.addEventListener('click', function(e) {\r\n\t\tmax = textFieldArray.length;\r\n\r\n\t\tif(e.index ===0) { /*Prev Tab*/\r\n\r\n\t\t\tif(\tinputTextField.id ===1) {\r\n\t\t\t\tdone.fireEvent('click');\r\n\t\t\t} else {\r\n\r\n\t\t\t\tvar rowIndex=inputTextField.rowId-1;\r\n\r\n\t\t\t\tchangeFocus(rowIndex,0,textFieldArray);\r\n\t\t\t}\r\n\t\t} else { /*Next Tab*/\r\n\r\n\t\t\tif(inputTextField.id === max) {\r\n\t\t\t\tdone.fireEvent('click');\r\n\t\t\t} else {\r\n\t\t\t\tvar rowIndex=inputTextField.rowId+1;\r\n\t\t\t\tchangeFocus(rowIndex,1,textFieldArray) ;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t});\r\n\tdone.addEventListener('click', function() {\r\n\t\tfor(i=0,j=textFieldArray.length;i