GetText () на AutoCompleTeTextView возвращает SpannableStringBuilder?

StackOverflow https://stackoverflow.com/questions/3927176

  •  30-09-2019
  •  | 
  •  

Вопрос

У меня есть AutoCompleTextView с MatrixCursor в качестве адаптера. AutoCompletEttextView имеет onitemclickListener следующим образом:

public class AutoCompleteListClickListner implements OnItemClickListener
{
    private AutoCompleteTextView acView;

    public AutoCompleteListClickListner(AutoCompleteTextView view)
    {
        this.acView = view;
    }

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id)
    {
        /* tv is the selected view in the dropdown */
        TextView tv = (TextView) ((LinearLayout) view).getChildAt(0);
        Log.d(AndroidLogTag, "Before:>>>>" + this.acView.getText().toString());
        this.acView.setText(tv.getText().toString());
        Log.d(AndroidLogTag, "After:>>>>" + this.acView.getText().toString());
    }
}

Когда выбран элемент, я вижу следующее в журнале

10-14 00:34:37.893: DEBUG/MyApp(19151): Before:>>>>android.database.MatrixCursor@4643e388
10-14 00:34:37.912: DEBUG/MyApp(19151): After:>>>>Ankit V Jain

Если вы видите журнал, Before запись журнала, getText() Возвращает А. SpannableStringBuilder объект и toString() Из него возвращает какой-то идентификатор объекта.

Как получить актуальный текст автоматического полного представления, который был там, прежде чем нажать на раскрывающийся элемент?

Это было полезно?

Решение 2

Ну, всегда есть еще один путь (грязный или лучший) в коде.

Я добавил А. TextWatcher на автозаказ и использованный beforeTextChanged() событие для записи текстового контента и повторно использовать это в onItemClick() !

Другие советы

попробуйте кастинг SpannableStringBuilder к CharSequence

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top