Ho una finestra di dialogo che copre 1/3 dell'intera altezza dello schermo e viene visualizzata in cima alla mia attività. La finestra di dialogo contiene due campi AutoCompleteTextView.Elenco di selezione interrotto in AutoCompleteTextView in Dialog
Il problema che sto affrontando è che quando l'utente inizia a digitare qualcosa nella AutoCompleteTextView, la lista con tutti i suggerimenti mostra solo fino alla fine inferiore della finestra, ma non va oltre che anche l'elenco è più lungo . Sembra che sia tagliato fuori. (schermata a sinistra)
Solo dopo aver premuto a lungo un elemento dall'elenco dei suggerimenti, l'elenco verrà mostrato in tutta la sua lunghezza. (Screenshot a destra)
Screenhot e ': http://img704.imageshack.us/i/dialogdropdown.png/ screenshot http://img704.imageshack.us/img704/1893/dialogdropdown.png
Come risolvere questo comportamento in modo che l'elenco mostra in integrale fin dall'inizio, quando l'utente inizia a digitare qualcosa?
Codice-saggio non c'è niente di speciale, non faccio altro che:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this.getContext(), R.layout.nav_route_autocomplete_row, locStrings);
AutoCompleteTextView txtStartPos = (AutoCompleteTextView) findViewById(R.id.txtStartPos);
txtStartPos.setAdapter(adapter);
...
Una soluzione idea è quella di spedire in qualche modo un evento di movimento per simulare un tocco (ma poi non selezionando però) una delle voci di elenco . Qualche idea concreta in codice per una soluzione, nessuno?
Ho provato a impostare tale attributo per il LinearLayout molto esterno del mio layout di finestra di dialogo e anche per tutti gli altri di cui AutoCompleteTextView è un (secondario) figlio di. Ma non aiuta. Dato che si tratta di una finestra di dialogo, dovrebbe essere più simile a window.setClipChildren (false), ma sfortunatamente tale metodo non esiste per la finestra. O alcuni flag come window.setFlags (WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); ma tutto ciò non aiuta. –