2012-06-13 13 views
8

Vedo this question imposta lo stato attivo su SearchView EditText quando si attiva una ricerca da ActionBar. Tuttavia la tastiera non viene visualizzata quando ottiene la messa a fuoco. Non dovrebbe, in quanto è solo un normale EditText? (È un normale EditText?) Questo comportamento è visualizzato su Android SDK livello 11. (Samsung Galax Tab 7.7 con Android di serie.)Mostra la tastiera virtuale sull'attivazione della barra di ricerca di ricerca con SearchView

Ho una soluzione al momento che si aggancia al metodo onOptionsItemSelected(MenuItem item) della mia Attività, mostrando la tastiera.

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     boolean menuSelectionHandeled = super.onOptionsItemSelected(item); 
     // menu_search is the id of the menu item in the ActionBar 
     if (item.getItemId() == R.id.menu_search) { 
       mInputManager.showSoftInput(null, InputMethodManager.SHOW_IMPLICIT); 
     } 
     return menuSelectionHandeled; 
    } 

Dove mInputManager è un'istanza di InputMethodManager.

ActionBar è costruito con ActionBarSherlock e, poiché il dispositivo di destinazione è Android 3.x, questa potrebbe essere la causa dei sintomi? Come per di ActionBarSherlock FAQ:

La barra di azione su Android 3.x (noto anche come Honeycomb) non significa implementare tutte le caratteristiche di quello in 4.x Android (Ice Cream Sandwich ). Per fornire un'API completa della barra delle azioni su tutte le piattaforme e unificare lo stile su tutte le versioni di Android viene utilizzata l'implementazione personalizzata .

+0

Non so se questo conta davvero, ma ho avuto un problema quando il mio file xml conteneva un 'EditText' come nei file di esempio da ActionBarSherlock (vale a dire: non potevo ottenere i miei callback per il funzionamento di textchange ecc.) ma quando ho cambiato quello in un 'SearchView' e aggiunto i callback appropriati, ha appena iniziato a funzionare come previsto. Forse provarlo? – lfxgroove

+0

Inoltre, controlla http://stackoverflow.com/questions/11011091/how-can-i-focus-on-a-collapsible-action-view-edittext-item-in-the-action-bar-wh – lfxgroove

+0

Grazie @Anton quella domanda mi fa pensare che non c'è un modo per mostrare la tastiera automaticamente. Ha la stessa soluzione di me. Nel mio XML uso sicuramente un SearchView. Grazie – Diederik

risposta

0

Questo dovrebbe funzionare:

SearchView searchView = new SearchView(getContext()); 
searchView.setInputType(InputType.TYPE_CLASS_TEXT); 
searchView.setBackgroundColor(Color.WHITE); 
Problemi correlati