2015-12-16 3 views
6

У меня есть текстовое поле редактирования, которое отключается в начале.android show keyboard программно

Я хотел бы установить его включение, наведите курсор на него, и клавиатура должна быть видимой.

Я пробую этот код. все работает - клавиатура не будет отображаться.

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

увидеть это http://stackoverflow.com/questions/8991522/как-может-я-в-фокус-и-дисплей-на-клавиатуру-на-мой-edittex установленный t-programtic –

+0

это тот же код, что и мой код – Ghost108

+0

, есть и другие ответы. Вы их пробовали? –

ответ

13

Для скрывающей клавиатуры:

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

Для Показывается клавиатуры:

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

Вы можете использовать этот метод для сильной демонстрации клавиатуры после вызова requestFocus() на 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

попробовать мой метод 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); 


}