2013-10-31 1 views
5

Ho uno ListView con EditTexts come elementi.Regola panoramica | ridimensiona non sembra funzionare su JellyBean 4.2.2-4.1.2

Ho provato a fissare sia le android:windowSoftInputMode="adjustPan" e "adjustResize" bandiere nel manifesto, ho anche provato ad aggiungere flag "alwaysvisible" e non ha aiutato neanche.

Ma quando la tastiera passa sopra il testo e inizio a digitare la casella di testo di modifica non è visibile nessun solitario, si apre solo la prima volta che ottiene la messa a fuoco.

Modifica: L'ho provato su 4.3 e funzionava come previsto, l'edittext era sempre visibile, ma su 4.2.1/4.2.2 non funziona.

+1

Dai un'occhiata a questa soluzione: http://stackoverflow.com/a/19570401/1560797.Mi ha semplicemente aiutato, ho avuto lo stesso problema su un S2 – Theos

risposta

-1

Sul tuo AndroidManifest.xml, prova ad aggiungere android:windowSoftInputMode="adjustPan" nell'attività che tiene il listview.

+0

questo è quello che sto cercando di risolvere, perché non funziona con adjustPan o adjustResize. – user1940676

+0

ok, prova ad aggiungere yourEditText.requestFocusFromTouch() sul tuo getView() mothode (ListAdapter) –

+0

non ha aiutato. – user1940676

7

su alcuni fornitori specifici firmware Android, Impostazioni android:windowSoftInputMode per Activity tag nel manifesto non funziona ...

possibile soluzione può regolarsi direttamente dal codice Java, all'interno del metodo onCreate(), dopo aver impostato il contenuto vista:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 

si tratta di un lungo tiro, ma per me ha funzionato in alcuni casi ...

+0

@ user1940676: quindi, ha funzionato? –

+0

non ha aiutato, ho usato invece una scrollview. – user1940676

0

ho avuto lo stesso problema di ieri. Risolto in questo modo: Quando l'utente fa clic su EditText, avvio un timer che mantiene continuamente visibile e focalizzata la voce dell'elenco. Funziona per 1,5 secondi dopo ogni clic. Ho un Runnable che si registra periodicamente su un gestore.

  • Verifica se la voce di elenco desiderata è attualmente visibile (scorrere fino alla parte visibile dell'elenco ).
  • Se non è visibile, fa scorrere l'elenco su di esso (ListView.setSelectedItem (posizione int)).
  • Se è visibile, mette a fuoco il EditText che appartiene alla voce di elenco (View.requestFocus()).

MOLTO brutta soluzione, ma fa il lavoro.

0

Provare a utilizzare il valore predefinito di Android non impostando android:windowSoftInputMode o impostarlo su android:windowSoftInputMode:stateUnspecified. Android sceglierà uno stato appropriato se non è definito nessuno nel tuo tema. Ho avuto lo stesso problema e questa era la soluzione.

0

Il mio problema era che ho specificato sul mio stile per i valori-V19

<item name="android:fitsSystemWindows">false</item> 

che non consentirà la finestra per ridimensionare. Quindi, o modificarlo a true o entro il layout che si desidera ridimensionare aggiungere questo:

<LinearLayout 
android:fitsSystemWindows="true" //this line! 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 

Speranza che aiuta qualcuno.