{ "id": "121291", "key": "TIMOB-15506", "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": "15699", "description": "2013 Sprint 21", "name": "2013 Sprint 21", "archived": true, "released": true, "releaseDate": "2013-10-18" }, { "id": "15700", "description": "2013 Sprint 21 API", "name": "2013 Sprint 21 API", "archived": true, "released": true, "releaseDate": "2013-10-18" }, { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-10-18T18:49:13.000+0000", "created": "2013-10-16T22:50:57.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "api", "module_listview", "qe-testadded" ], "versions": [ { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "issuelinks": [ { "id": "32699", "type": { "id": "10000", "name": "Blocks", "inward": "is blocked by", "outward": "blocks" }, "inwardIssue": { "id": "121442", "key": "TIMOB-15546", "fields": { "summary": "Android: TextField set in a listView headerView property loses focus once clicked", "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": "32745", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "121513", "key": "TIMOB-15559", "fields": { "summary": "Android: textField in listView cannot be focused on Android 4.3", "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": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2014-06-19T12:43:15.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": "Test code: \r\n{code}\r\nvar sections = [];\r\n\t \r\n\tvar fruitSection = Ti.UI.createListSection({ headerTitle: 'Fruits'});\r\n\tvar fruitDataSet = [\r\n\t {properties: { title: 'Apple', searchableText:' Fruits Apple', itemId:'0 0'}},\r\n\t {properties: { title: 'Banana', searchableText:'Fruits Banana', itemId:'0 1'}},\r\n\t {properties: { title: 'Cantaloupe', searchableText:'Fruits Cantaloupe', itemId:'0 2'}},\r\n\t {properties: { title: 'Fig', searchableText:'Fruits Fig', itemId:'0 3'}},\r\n\t {properties: { title: 'Guava', searchableText:'Fruits Guava', itemId:'0 4'}},\r\n\t {properties: { title: 'Kiwi', searchableText:'Fruits Kiwi', itemId:'0 5'}},\r\n\t];\r\n\tfruitSection.setItems(fruitDataSet);\r\n\tsections.push(fruitSection);\r\n\t \r\n\tvar vegSection = Ti.UI.createListSection({ headerTitle: 'Vegetables'});\r\n\tvar vegDataSet = [\r\n\t {properties: { title: 'Carrots', searchableText:'Vegetables Carrots', itemId:'1 0'}},\r\n\t {properties: { title: 'Potatoes', searchableText:'Vegetables Potatoes', itemId:'1 1'}},\r\n\t {properties: { title: 'Corn', searchableText:'Vegetables Corn', itemId:'1 2'}},\r\n\t {properties: { title: 'Beans', searchableText:'Vegetables Beans', itemId:'1 3'}},\r\n\t {properties: { title: 'Tomato', searchableText:'Vegetables Tomato', itemId:'1 4'}},\r\n\t];\r\n\tvegSection.setItems(vegDataSet);\r\n\tsections.push(vegSection);\r\n\t \r\n\t \r\n\tvar fishSection = Ti.UI.createListSection({ headerTitle: 'Fish'});\r\n\tvar fishDataSet = [\r\n\t {properties: { title: 'Cod', searchableText:'Fish Cod', itemId:'2 0'}},\r\n\t {properties: { title: 'Haddock', searchableText:'Fish Haddock', itemId:'2 1'}},\r\n\t {properties: { title: 'Salmon', searchableText:'Fish Salmon', itemId:'2 2'}},\r\n\t {properties: { title: 'Tuna', searchableText:'Fish Tuna', itemId:'2 3'}},\r\n\t];\r\n\tfishSection.setItems(fishDataSet);\r\n\tsections.push(fishSection);\r\n\t\r\n\tvar animalsSection = Ti.UI.createListSection({ headerTitle: 'Animals'});\r\n\tvar animalsDataSet = [\r\n\t {properties: { title: 'Deer', searchableText:'Animals Deer', itemId:'3 0'}},\r\n\t {properties: { title: 'Dog', searchableText:'Animals Dog', itemId:'3 1'}},\r\n\t {properties: { title: 'Cat', searchableText:'Animals Cat', itemId:'3 2'}},\r\n\t {properties: { title: 'Elephant', searchableText:'Animals Elephant', itemId:'3 3'}},\r\n\t];\r\n\tanimalsSection.setItems(animalsDataSet);\r\n\tsections.push(animalsSection);\r\n\r\n\tvar tf = Ti.UI.createTextField({\r\n\t color: '#336699',\r\n\t height: 100,\r\n\t top:10,\r\n\t bottom:10,\r\n\t left:10,\r\n\t right:10,\r\n\t font:{fontSize:20,fontWeight:'bold'},\r\n\t hintText: 'Search'\r\n\t});\r\n\t\r\n\ttf.addEventListener('change',function(e){\r\n\t listView.searchText = e.value;\r\n\t});\r\n\t\r\n\tvar button = Ti.UI.createButton({top: 100, title: \"toggle caseInsensitive\"});\r\n\t\r\n\tbutton.addEventListener('click', function(e) {\r\n\t if (listView.caseInsensitiveSearch) {\r\n\t \tlistView.caseInsensitiveSearch = false;\r\n\t } else {\r\n\t listView.caseInsensitiveSearch = true;\r\n\t }\r\n\t});\r\n\t\r\n\t//The textfield must be a subview of the tableView to \r\n\t//calculate correct contentInsets when keyboard is visible. \r\n\tvar listView = Ti.UI.createListView({top: 250, headerView: tf});\r\n\tlistView.sections = sections;\r\n\t\r\n\tvar win = Ti.UI.createWindow({windowSoftInputMode:Ti.UI.Android.SOFT_INPUT_ADJUST_PAN});\r\n\twin.add(listView);\r\n\twin.open();\r\n\r\n{code}\r\n1. Run code, focus the textfield and type 'apple'. Notice how the cursor is stuck at one position. \r\n2. Hit back space to delete all letters, retype 'apple'. Then move cursor manually to position 2, between 'p' and 'l'. Type 'hello'. Notice how 'hello' is being written backwards", "attachment": [], "flagged": false, "summary": "Android: ListView textfield inside headerView types backwards", "creator": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "275700", "author": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/4797", "updateAuthor": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-10-18T18:48:50.000+0000", "updated": "2013-10-18T18:48:50.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }