Autore Topic: Problema Autocomplete, non si vedono gli Item  (Letto 233 volte)

Offline kolivanov84

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Sistema operativo:
    Windows 8
Problema Autocomplete, non si vedono gli Item
« il: 12 Luglio 2016, 15:48:41 CEST »
0
Ciao a tutti, ho un problema con il mio autoCompleteTextView.
Dunque preciso che ha sempre funzionato fino a quando non ho deciso di popolarlo tramite una classe Async e usando come adapter un semplicissimo ArrayAdapter<String>.
La questione è questa, tutto funziona correttamente, l'adapter viene correttamente popolato con l'array di stringhe, quando però devo vedere i valori proposti, vedo solo la tendina bianca senza il "valore" scritto. Se io clicco sul valore funziona tutto correttamente, il solo problema è che non si vede il valore, mi sapete aiutare?

Offline Carni

  • Utente junior
  • **
  • Post: 62
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Play Store ID:
    R3D5HA
  • Sistema operativo:
    Windows 10
Re:Problema Autocomplete, non si vedono gli Item
« Risposta #1 il: 13 Luglio 2016, 20:47:07 CEST »
0
Puoi mettere uno screen?

Offline kolivanov84

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Sistema operativo:
    Windows 8
Re:Problema Autocomplete, non si vedono gli Item
« Risposta #2 il: 14 Luglio 2016, 08:47:48 CEST »
0
Certamente:

Quì c'è il mio auto complete:

Codice (XML): [Seleziona]
 <AutoCompleteTextView
           android:layout_width="150dp"
           android:layout_height="wrap_content"
           android:id="@+id/editText_find_corso"
           android:textColor="@color/primary_dark_material_light"
           android:hint="@string/label_cerca_corso_hint"/>

Poi nell' onCreate della mia activity faccio semplicemente questo:

Codice (Java): [Seleziona]
 autoCompleteTextView = (AutoCompleteTextView)findViewById(R.id.editText_find_corso);
        new ListCorsiThread().execute();

ed ecco il codice della mia classe privata Async:
Codice (Java): [Seleziona]
private class ListCorsiThread extends AsyncTask<String, Void, String> {

        private PalestraMondoSportServices search;

        @Override
        protected void onPostExecute(String itine) {
            super.onPostExecute(itine);
            Log.d(TAG,"onPostExecute - grandezza lista risultati = "+itine);

            String[] arr = itine.split(";");
            adp = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_dropdown_item_1line,arr );
            autoCompleteTextView.setAdapter(adp);
            adp.notifyDataSetChanged();
            SharedPreferences sh = getSharedPreferences(GlobalConstants.MY_PREFERENCES, Context.MODE_PRIVATE);
            SharedPreferences.Editor editor = sh.edit();
            editor.putString(GlobalConstants.PREF_CORSI,itine);
            editor.putString(GlobalConstants.PREF_DATA,new Date().toString());
            editor.commit();
        }


        @Override
        protected String doInBackground(String... params) {
            String corsiList;
            try {
                search = new PalestraMondoSportServices();
                corsiList = search.getElencoCorsi();
                Log.d(TAG,"doInBackground - grandezza lista risultati = "+corsiList);
            }
            catch(Throwable t) {
                t.printStackTrace();
                return null;
            }
            return corsiList;
        }
    }

Concludo dicendo che il mio array è correttamente popolato, ma niente da fare, non riesco a rimediare a questo problema.
Il problema non si pone se popolo con un array fisso statico. Solo utilizzando l'async ho questo problema.Aiutatemi vi prego
« Ultima modifica: 14 Luglio 2016, 08:56:01 CEST da kolivanov84 »