2011-08-26 15 views
7

dobrze, ja staram się zapobiec klawiaturę z zamknięciem, gdy użytkownik naciśnie przycisk „OK”, po edycji pola tekstowego. Właściwie, co staram się osiągnąć to: po naciśnięciu przycisku „OK” zostanie naciśnięty, to pole jest analizowany i jeśli ważne, zaczyna inną czynność. To dość łatwe.przechowywać klawiaturę otwarte po naciśnięciu klawisza Enter

Ale, gdy pole nie jest ważna, chcę klawiatura pozostać otwarte. A to ... piekło bardziej skomplikowana. Jeśli ktoś wie, jak osiągnąć coś takiego ...

Z góry dzięki.

EDIT: co to znaczy za pomocą przycisku OK przycisk OK z miękkiej klawiatury.

Odpowiedz

12

Attach OnEditorActionListener do pola tekstowego i powrócić true z jego onEditorAction sposobu, gdy IdAkcji jest równa IME_ACTION_DONE. Pozwoli to uniknąć klawiaturę z ukrycia:

EditText txtEdit = (EditText) findViewById(R.id.txtEdit); 
txtEdit.setOnEditorActionListener(new OnEditorActionListener() { 

    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
    if (actionId == EditorInfo.IME_ACTION_DONE) { 
     // your additional processing... 
     return true; 
    } else { 
     return false; 
    } 
    } 

}); 
+1

zależności od EditText 'android: wartość imeOptions', może trzeba sprawdzić IdAkcji przed' 'IME_ACTION_GO' IME_NULL', itp – Idolon

+0

spróbowałem i to działa doskonale! – Redwarp

+0

Działa doskonale! szukałem tego. – zeitue

Powiązane problemy