2015-12-16 24 views
6

Ho un campo di testo di modifica che è disabilitato all'inizio.Android show tastiera programmaticamente

Mi piacerebbe impostarlo abilitare, posizionare il cursore su di esso e la tastiera dovrebbe essere visibile.

provo questo codice. funziona tutto - solo la tastiera non verrà mostrata.

@Override 
    protected void onCreate(Bundle savedInstanceState{ 
     editText.setEnabled(true); 
     editText.requestFocus(); 
     getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT); 
    } 
+6

vedono questo http://stackoverflow.com/questions/8991522/come-can-i-set-il-fuoco-e-display-the-keyboard-on-my-edittex t-programmatic –

+0

questo è lo stesso codice del mio codice – Ghost108

+0

ci sono altre risposte a bassa risoluzione. Le hai provate ?? –

risposta

13

Per la tastiera si nasconde:

InputMethodManager imm = (InputMethodManager)getSystemService(
    Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0); 

per mostrare la tastiera:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); 
0

È possibile utilizzare questo metodo per mostrare la tastiera con forza dopo aver chiamato requestFocus() su EditText.

public static void showKeyboard(FragmentActivity activity) { 
     InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); 
     inputMethodManager.toggleSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), InputMethodManager.SHOW_FORCED, 0); 
    } 
5

provare il mio metodo showKeyboard

public static void showKeyboard(EditText mEtSearch, Context context) { 
    mEtSearch.requestFocus(); 
    InputMethodManager imm = (InputMethodManager) context.getSystemService(Activity.INPUT_METHOD_SERVICE); 
    imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); 
} 

public static void hideSoftKeyboard(EditText mEtSearch, Context context) { 
    mEtSearch.clearFocus(); 
    InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.hideSoftInputFromWindow(mEtSearch.getWindowToken(), 0); 


}