Android - 以编程方式显示键盘
Android - show keyboard programmatically
我有一个 EditText
字段在开始时被禁用。
我想将其设置为启用,将光标放在它上面,键盘应该可见。
我尝试了以下代码并且一切正常 - 只有键盘不会显示。
@Override
protected void onCreate(Bundle savedInstanceState{
editText.setEnabled(true);
editText.requestFocus();
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
}
在EditText上调用requestFocus()
后可以使用此方法强行显示键盘
public static void showKeyboard(FragmentActivity activity) {
InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), InputMethodManager.SHOW_FORCED, 0);
}
隐藏键盘:
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);
试试我的 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);
}
我有一个 EditText
字段在开始时被禁用。
我想将其设置为启用,将光标放在它上面,键盘应该可见。
我尝试了以下代码并且一切正常 - 只有键盘不会显示。
@Override
protected void onCreate(Bundle savedInstanceState{
editText.setEnabled(true);
editText.requestFocus();
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
}
在EditText上调用requestFocus()
后可以使用此方法强行显示键盘
public static void showKeyboard(FragmentActivity activity) {
InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), InputMethodManager.SHOW_FORCED, 0);
}
隐藏键盘:
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);
试试我的 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);
}