Domanda

Sto cercando di creare ListActivity con un'AutoCompleteTextView. Il Listview ha listItems che consiste di un ImageView e 2 TextViews. Tutto funziona bene, tranne per le stringhe di completamento automatico. Sto usando un ArrayAdapter ma Io non so come impostare le stringhe (paesi). Ecco parte del codice.

public class SearchActivity estende ListActivity {

static final String[] COUNTRIES = new String[] {
      "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
      "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina",
      "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan",
      "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium",
      "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia",
      "Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory",
      "British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burundi",
      "Cote d'Ivoire", "Cambodia", "Cameroon", "Canada", "Cape Verde",
      "Cayman Islands", "Central African Republic", "Chad", "Chile", "China",
      "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo",
      "Cook Islands", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czech Republic"
    };

private AutoCompleteTextView    searchView;
private ListView                mListView;
private ArrayList<MyItem>       itemList            = new ArrayList<MyItem>();
private ListItemAdapter         searchListAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.search);

    searchView = (AutoCompleteTextView) findViewById(R.id.search_text);
    searchView.setAdapter(searchListAdapter);

    searchListAdapter = new ListItemAdapter(this, R.layout.search_row, itemList);
    setListAdapter(searchListAdapter);

    mListView = getListView();
    mListView.setTextFilterEnabled(false);
}

/**
 * This class is used to for the list objects.
 */
private class ListItemAdapter extends ArrayAdapter<MyItem> {

    private ArrayList<MyItem>   bevs;
    private MyItem          bevItem;

    private TextView                nameView;
    private TextView                descView;
    private ImageView               imageView;

    public ListItemAdapter(Context context, int textViewResourceId,
            ArrayList<MyItem> itemList) {
        super(context, textViewResourceId, itemList);
        this.bevs = itemList;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = convertView;


    /* Update the views */

        return view;
    }
}

}

per favore mi punto nella giusta direzione

/ Cin cin Adrian

È stato utile?

Soluzione

Credo che la cosa importante non trovi è quello di creare effettivamente un adattatore per l'array paesi.

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

Quindi modificare il codice per la visualizzazione automatica completa del testo per usarlo:

searchView = (AutoCompleteTextView) findViewById(R.id.search_text);
searchView.setAdapter(autocompleteCountriesAdapter);

Dai un'occhiata a questo esempio: Completamento automatico di testo Visualizza | Android Dev Beginner Tutorial

Altri suggerimenti

Ho appena ricordato una domanda ho chiesto di recente Cercando per filtrare un ListView con runQueryOnBackgroundThread ma non succede nulla - ciò che mi manca ?. Nel mio caso ho avuto difficoltà a raggiungere il contenuto della lista per aggiornare quando una stringa di ricerca è stato inserito in una casella di testo. In superficie non è lo stesso problema come la tua, ma forse si sta cercando di ottenere la stessa cosa. Stavo cercando di creare un'attività di ricerca per aiutare le persone selezionare un paese per il mio WorldInfo app. L'idea era premono un pulsante di ricerca nell'attività principale e vedere un elenco di paesi che possono poi filtro digitando in una casella di testo. Poi si può selezionare il paese che vogliono.

Si scopre un tale impianto è integrato in Android! Controlla la risposta alla mia domanda da Shawn Lauzon .

Ci sono voluti un po 'di tempo per essere correttamente integrato nel sistema di funzione di ricerca, ma l'esperienza è molto meglio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top