AutoCompleteTextView è un componente che in pratica si comporta come Google Suggest.

Oggi vediamo come usarlo, e per complicarci la vita, prenderemo in dati in formato JSON da un servizio remoto, e useremo un custom adapter.

Cominciamo con la classe che mappa i dati JSON:

public class Cities {

    private int id;
    private String nome;
    private String paese;
    private double latitudine;
    private double longitudine;

    public Cities(int id, String nome) {
        this.id = id;
        this.nome = nome;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getPaese() {
        return paese;
    }

    public void setPaese(String paese) {
        this.paese = paese;
    }

    public double getLatitudine() {
        return latitudine;
    }

    public void setLatitudine(double latitudine) {
        this.latitudine = latitudine;
    }

    public double getLongitudine() {
        return longitudine;
    }

    public void setLongitudine(double longitudine) {
        this.longitudine = longitudine;
    }

}

I i campi JSON quindi sono:

  • id
  • nome
  • paese
  • latitudine
  • longitudine

Supponiamo di avere il nostro Adapter che estende BaseAdapter.

E supponiamo di volere rendere non selezionabile una riga della nostra ListView nel caso di una determinata condizione.

Come possiamo fare?

Semplicemente facendo l'Override del metodo isEnabled.

Oggi vediamo una semplice classe per l'upload di file su un server remoto tramite FTP.

Per la connessione FTP useremo la "solita" libreria Apache Commons Net.

Una volta scaricata, integratela nel progetto.

In un precedente articolo abbiamo visto come implementare un nostro BaseAdapter.

Oggi completiamo il tutto impostando anche un filtro.

Per farlo dobbiamo implementare l'interfaccia Filterable, e fare l'Override del metodo getFilter.

Oggi vediamo come implementare un proprio Adapter partendo da BaseAdapter in Android.

Ho dovuto seguire questa strada per avere un maggiore controllo nel caso di dati presi da XML; non ho avuto problemi del genere invece con JSON.

Ma poco male!

Non vedremo come interpretare i dati XML o come popolare la ListView, ma ci limiteremo a creare il nostro Adapter.