2017-01-31 9 views
0

Я смог получить первый и последний текст ввода пользователя для AutoCompleteTextview, но Мое приложение зависает, когда я устанавливаю метод построителя на метод AutocompleteTextView textChanged. Я ценю любые прилагаемые усилия.App freezes on autocomplete textChanged

@Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 

      if(s.length()>0) { 
       String selectedText = s.toString(); 
       int end = selectedText.length()+start; 
       SpannableStringBuilder builder = new SpannableStringBuilder(selectedText); 
       builder.setSpan(android.graphics.Typeface.BOLD, start, end, Spannable.SPAN_INCLUSIVE_INCLUSIVE); 
       Log.i("builderText", " "+builder); 
       autoCompleteTextView.setText(builder); 

      } 

     } 
+0

Опубликовать свой след стека. – Amila

+0

Это означает, что ни 'start', ни' end' ae не совпадают в вашей строке. Это меня не удивляет, поскольку вы пытаетесь совместить два ** целых числа ** в строке. Более того, строка, возможно, пуста. –

+0

@ Rotwang вы можете дать мне представление о том, как это сделать? – jonathan

ответ

0

Проблема в том, что вы пытаетесь получить индекс символа в возможной пустой строке. Вот почему вы получите -1 здесь

String startText = autoCompleteTextView.getText().toString(); 
int start = startText.indexOf(0); 
int end = startText.indexOf(1); 

Вы можете добавить это заявление в качестве слушателя, например, autoCompleteTextView.addTextChangedListener() и обрабатывать его там, где происходят фактические изменения текста.

+0

как я использую textchangelistener здесь – jonathan

+0

это не работало для меня – jonathan

 Смежные вопросы

  • Нет связанных вопросов^_^