2011-01-27 12 views
6

Ciao Sto cercando di sovrascrivere l'azione IME per mostrare la ricerca sulla tastiera virtuale. Il mio EditText si trova nel controllo posizionato sull'attività.android - controllo IME mostra azione di ricerca invece di immettere

Ecco quello che ho:

<EditText android:id="@+id/txtSearch" 
    android:textSize="18dp" 
    android:textColor="@color/main_text_black" 
    android:layout_width="247dp" 
    android:layout_height="fill_parent" 
    android:imeOptions="actionSearch" 
    android:gravity="center_vertical" 
    android:singleLine="true" 
    android:background="@null" 
    android:layout_alignParentLeft="true" 
    android:layout_marginLeft="38px" /> 

Nel codice ho questo ascoltatore impostato sul EditText:

@Override 
public boolean onEditorAction(TextView view, int arg1, KeyEvent arg2) { 
    if((arg1 == EditorInfo.IME_ACTION_SEARCH) { 
     for(OnSearchListener listener : _listeners) { 
      listener.OnSearch(view, getSearchString()); 
     } 
    } 
    InputMethodManager imm = 
     (InputMethodManager)_context.getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 

    return false; 
} 

arg1 torna sempre come 0 quando si preme il tasto Invio, che è "non identificato". Ho anche provato diverse tastiere come sendMessage e nessuno di loro ha funzionato neanche. Cosa sta succedendo?

Grazie in anticipo!

+0

in pratica l'ho già rimosso dal controllo e l'ho aggiunto a un'attività e non funzionava ancora. Ho provato anche sendMessage. Niente! Android: imeOptions = "actionSend | flagNoEnterAction" \t \t \t \t android: InputType = "textShortMessage | textAutoCorrect | textCapSentences | textMultiLine" La sua come IME è disabilitata tutto o sovrascritto in alcune impostazioni da qualche parte. Tutto ciò che ho fatto è stato aggiungere le opzioni nel file xml e provare a vedere cosa viene mostrato. Ricevo sempre la stessa finestra. Nessuna modifica alla tastiera virtuale. – dropsOfJupiter

risposta

2

aggiornato a droid 2.2 e ha iniziato a funzionare. Insetto orribile!

3

È necessario specificare android: inputType = attributo "testo" nel file xml.

Problemi correlati