2011-09-01 13 views
9

Qualcuno può dirmi come disabilitare e abilitare il Immettere la chiave nella tastiera virtuale?Disabilitazione Android Tasto Invio nella tastiera virtuale

+0

cosa esattamente stai cercando di realizzare? –

+0

Vorrei anche sapere come farlo. Ho notato nella mia applicazione PhoneGap che se uso il tasto Invio dopo aver completato l'inserimento in un campo di testo che a volte lo schermo non esegue correttamente il rendering. Se uso il pulsante back nativo di Android una volta fatto funziona perfettamente ogni volta. – blong824

risposta

6

Collegare OnEditorActionListener al vostro campo di testo e tornare vero dal suo metodo onEditorAction, quando actionId è uguale a IME_ACTION_DONE. Questo consentirà di evitare tastiera virtuale dal nascondiglio:

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; 
    } 
    } 
}); 

consultare this LINK.

-1

So che questa domanda è piuttosto vecchio, ma un modo semplice di disabilitare il tasto ENTER per impostare Android: maxLines = "1" nella vostra EditText .

+0

downvoted, non funziona. Ho un EditText con maxLines = "1" e mostra ancora e gestisce la chiave di invio. – momo

+0

Il tasto invio viene ancora mostrato e gestito ma non fa nulla. –

1

Nel layout EditText's mettere qualcosa di simile:

android:digits="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ," 

È possibile anche elencare il resto dei simboli che si vorrebbe essere in grado di entrarvi, ma non il tasto Invio.

10

basta andare al vostro xml e mettere questo attributo in EditText

android:singleLine="true" 

e il vostro tasto di invio sarà andato

+1

Non so se questo è quello che stavano chiedendo in particolare, ma è esattamente quello di cui avevo bisogno! Grazie! – Sloganho

+0

android: singleLine è deprecato ma funziona perfettamente per questo caso. Grazie. –

0

Prova questa, insieme imeOptions = actionDone

<EditText 
    android:id="@+id/edittext_done" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:imeOptions="actionDone" 
    android:maxLines="1"/> 
Problemi correlati