Инициализировать AutoCompleteTextView с предопределенным объектом

Я работаю с формуляром, чтобы издавать информацию клиента, у формуляра есть три AutoCompleteTextView.

Каждый AutoCompleteTextView у него есть адаптер, который получает один List<Object>. Поскольку это формуляр, чтобы издавать, нуждайся в том, что каждый AutoCompleteTextView начнитесь с Object что сохранялся в базе данных.

final AutoCompleteTextView acContactos = (AutoCompleteTextView) dialog.findViewById(R.id.acContactos);
final List<Contacto> contactos = new ContactoSQL(getContext()).getContactos();
final ArrayAdapter contactosAdapter = new ArrayAdapter<Contacto>(getContext(), android.R.layout.simple_dropdown_item_1line, contactos);
acContactos.setAdapter(contactosAdapter);
acContactos.setOnItemClickListener(new AdapterView.OnItemClickListener() {
   @Override
   public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
       contacto = (Contacto) contactosAdapter.getItem(position);
   }
});

Например, у отборного клиента есть контакт с id 8, которые в List<Object> у него есть index 7 и этот Contacto он должен бы быть выбранным по умолчанию, когда Клиент открывает формуляр, чтобы издавать.

Я остаюсь внимательным к Вашим комментариям и помощи, привету.

5
задан 10.03.2016, 14:34
1 ответ

Твой код правилен, только ты должен добавлять

acContactos.setThreshold(1);

для того, чтобы, написав символ, оно явилось каким-либо из имен контактов, это должен быть разум, из-за которого оно не являлось каким-то именем (Считая, что contactos он содержит разыскиваемые объекты).

    final AutoCompleteTextView acContactos = (AutoCompleteTextView) dialog.findViewById(R.id.acContactos);
    final List<Contacto> contactos = new ContactoSQL(getContext()).getContactos();
    final ArrayAdapter contactosAdapter = new ArrayAdapter<Contacto>(getContext(), android.R.layout.simple_dropdown_item_1line, contactos);
    acContactos.setAdapter(contactosAdapter);
    acContactos.setThreshold(1);  //* agregar!
    acContactos.setOnItemClickListener(new AdapterView.OnItemClickListener() {
       @Override
       public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

          contacto = (Contacto) contactosAdapter.getItem(position);

       }
    });
1
ответ дан 24.11.2019, 14:45

Теги

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