@cfmm

Глюк getText() в AutoCompleteTextView?

В событии onItemClick для AutoCompleteTextView необходимо получить текст самого AutoCompleteTextView.
У меня это не получается, AutoCompleteTextView.getText().toString() возвращает какую-то ерунду:

AutoCompleteTextView mEditText = (AutoCompleteTextView) findViewById(R.id.myEditText);

mEditText.setAdapter(new MyAdapterCompleteItem()); // adapter with CompleteItems

mEditText.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {

   CompleteItem myitem = (CompleteItem) adapterView.getItemAtPosition(position);
   String str = mEditText.getText().toString();
    // здесь str == ‘com.my.CompleteItem@52851578'
 }
}
});
  • Вопрос задан
  • 266 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Scotik
Junior Android Developer
немножко не пойму что вам надо? если вам нужен текст который стал в AutoCompleteTextView после нажатия то не проще в adapter'e вызвать метод getItem?

final AutoCompleteTextView mEditText = (AutoCompleteTextView) findViewById(R.id.my_edit_text);


        final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_dropdown_item_1line, COUNTRIES);

        mEditText.setAdapter(adapter); // adapter with CompleteItems

        mEditText.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {

                String myitem = (String) adapterView.getItemAtPosition(position);
                String str = mEditText.getText().toString();
                String item = adapter.getItem(position);
                Log.d("ITEM = ", myitem);
                Log.d("STR = " , str);
                Log.d("ITEM IS = ", item);
            }
        });

На эмуляторе все 3 метода работают, что именно вам нужно выберите сами, но у меня адаптер отличается от вашего, возможно стоит на него внимание обратить
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы