Android – Autocompletar (MultiAutoCompleteTextView, AutoCompleteTextview)

MultiAutoCompleteTextView

O MultiAutoCompleteTextView permite selecionarmos vários itens de uma lista, este recurso pode ser muito utilizado em casos de envio de mensagens ou destinatários no envio de um Email.

Ele extende AutoCompleteTextView que é utilizado para completar somente um item. Sua implementação é feita da mesma maneira.

Para implementarmos utilizaremos recursos básicos como, uma lista de itens, um xml para o item e um adapter para inserirmos no MultiAutoCompleteTextView.

Abaixo segue o xml responsável pelo componente e o pelo item.

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<MultiAutoCompleteTextView
android:id="@+id/autocomplete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Veículos"
/>
</LinearLayout>

item.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000"
android:padding="10sp"
android:textSize="20sp"
/>

Tendo os componentes prontos basta utiliza-los no MainActivity.java:

public class MainActivity extends Activity {

    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        MultiAutoCompleteTextView autoComplete = (MultiAutoCompleteTextView) findViewById(R.id.autocomplete);

        String[] listaItens = new String[]{"Carro", "Helicóptero", "Avião", "Caminhão", "Bicicleta", "Motocicleta", "Trem"};

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.item, listaItens);
        autoComplete.setAdapter(adapter);

        //retirar a linha abaixo para AutoComleteTextView.
        autoComplete.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    }
}

Download projeto, exemplo: DropBox

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s