- пользовательских типов 2 букв в автозаполнения текстовое поле
- Эти 2 буквы получить сохраненные и используемые в методе веб-службы для того, чтобы получения всех пользователей, которые начинают с этими 2 буквами результата
- XML получить вернулся, и получить разобран, и мы получаем имя пользователя + идентификатор и сохранить каждый из них в разных ArrayList
- результата с первым именем ArrayList получить путы в качестве выпадающего списка (автозаполнение)
- Th е пользователь выбирает элемент из элементов списка падения
- мне нужно, чтобы отобразить имя в выпадающем список, однако, когда пользователь выбирает имя, что идентификатор пользователя должен быть выбран и сохранен как Строка, которая будет использоваться для другого запроса.отображение значения, но выбирая идентификатор из выпадающего списка
Вопрос: Как отобразить имя, но выбрать идентификатор для этого имени
AutoCompleteTextView assigneeInput;
assigneeInput=(AutoCompleteTextView)
findViewById(id.editassignee);
assigneeInput.addTextChangedListener(new
TextWatcher() {
@Override
public void onTextChanged (CharSequence s,int start, int before, int count){
getContactsForAssignee();
}
@Override
public void beforeTextChanged (CharSequence s,int start, int count, int after){
}
@Override
public void afterTextChanged (Editable s){
}
}
);
//Textwatcher for assignee input -end
}
//Method to get Contacts for the assignee autocomplete - Start
public void getContactsForAssignee() {
//webservice call method
}
//Method to get Contacts for the assignee autocomplete - End
public void receiveResults10(String result10) {
try {
//Dom parsing set up
List<String> valSetOne = new ArrayList<String>();
List<String> valSetTwo = new ArrayList<String>();
ArrayList<HashMap<String, String>> menuItems = new ArrayList<HashMap<String, String>>();
for (int i = 0; i < nodesUDSObjectList.getLength(); i++) {
Element elementUDSObject = (Element) nodesUDSObjectList.item(i);
NodeList nodesAttributeList = elementUDSObject.getElementsByTagName("Attribute");
HashMap<String, String> mapp = new HashMap<String, String>();
for (int iA = 0; iA < nodesAttributeList.getLength(); iA++) {
Element elementAttribute = (Element) nodesAttributeList.item(iA);
//You have attribute(iA)
NodeList AttrNameElementList = (NodeList) elementAttribute.getElementsByTagName("AttrName");
String nameValue = getCharacterDataFromElement((Element) (AttrNameElementList.item(0)));
System.out.println("name" + nameValue);
NodeList AttrValueElementList = (NodeList) elementAttribute.getElementsByTagName("AttrValue");
String valueValue = getCharacterDataFromElement((Element) (AttrValueElementList.item(0)));
if (nameValue.equals("name")) {
valSetOne.add(valueValue);
mapp.put(COMBO_NAME, valueValue);
}
if (nameValue.equals("id")) {
valSetTwo.add(valueValue);
mapp.put(PERSISTENT_ID, valueValue);
}
}
menuItems.add(mapp);
}
AutoCompleteTextView editAssignee;
ArrayAdapter<String> adapter;
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, valSetOne);
editAssignee = (AutoCompleteTextView) findViewById(R.id.editassignee);
editAssignee.setAdapter(adapter);
} catch (Exception e) {
e.printStackTrace();
}
}
public static String getCharacterDataFromElement(Element e) {
}
//Beginning of method to actually save the ticket executed on click of the "save" button
public void SaveThisIncident(View v) {
AutoCompleteTextView editAssigneeInput = (AutoCompleteTextView) findViewById(R.id.editassignee); //receiving the users input for assignee
String thisIsAssignee = editAssigneeInput.getText().toString();
}
, как я могу это сделать, вы не возражаете, показывая мне, как? высоко оценил – Mash
, если я изменил ArrayAdapter на BaseAdapter, я получаю ошибки. «Тип BaseAdapter не является общим, его нельзя параметризовать аргументами», если вы знаете, как решить мою проблему. plzzz помогите мне, мне действительно нужно срочно работать –
Mash
Вы можете см. этот ответ для использования Baseadapter http://stackoverflow.com/a/16335923/1677824 – Akhil