2015-05-30 4 views
0

Я применил MultiAutoCompleteTextView в своем приложении. Большинство функций можно рассматривать как поле для приема сообщений электронной почты RECEIVER. Я использовал пользовательский адаптер с hashMap для хранения имени и идентификатора в качестве источников предложений. Когда пользователь нажимает имя, которое предлагается (только имя будет отображаться в списке предложений), Id будет программно добавлять в ID_list (arrayList) для следующей операции.Как обновить ArrayList, используемый для хранения KEY в MultiAutoCompleteTextView

Проблема в том, пользователь может нажать неправильно или изменить ум

1) Как я могу обновить ArrayList (ID_LIST), когда пользователь удалит некоторые из имен в MultiAutoCompleteTextView ??

2) Как удалить элемент (в multiautocompletetextview) с одним щелчком Backspace, но не одним символом по символу?

Большое спасибо.

+0

изучения намека. http://stackoverflow.com/questions/18120522/how-do-i-get-multiautocompletetextview-tokenizer-similar-to-facebook-app –

ответ

0

Ну, я понимаю важность «упрощения».

  1. Используйте TextWatcher для обновления списка arrayList (ID_list);

    inputReceiver.addTextChangedListener (новый TextWatcher() { частное ИНТ noOfCharAdded = 0; частный ИНТ noOfCharDeleted = 0;

    @Override 
        public void beforeTextChanged(CharSequence s, int start, int count, 
          int after) { 
         noOfCharAdded = after; 
         noOfCharDeleted = count; 
        } 
    
        @Override 
        public void onTextChanged(CharSequence s, int start, int before, 
          int count) { 
         KEY_MAC = null; 
        } 
    
        @Override 
        public void afterTextChanged(Editable s) { 
    
         if (noOfCharAdded >= 1 && noOfCharDeleted > 1) { 
          // just input select and backspace 
          System.out.println("just input select and backspace " 
            + receiverList.size()); 
          receiverList.remove(receiverList.size() - 1); 
         } 
    
        } 
    }); 
    
  2. Используйте onClickListener, чтобы установить курсор в конец строки;

    inputReceiver.setOnClickListener (новый OnClickListener() {

    @Override 
        public void onClick(View v) { 
         inputReceiver.setSelection(inputReceiver.getText().length()); 
        } 
    });