0
通常當分離片段時,軟鍵盤保持不變。該片段的視圖包含多個EditText字段 - 是否有一種方法可以在不傳入EditText的情況下一般地關閉鍵盤?通用鍵盤解除
通常當分離片段時,軟鍵盤保持不變。該片段的視圖包含多個EditText字段 - 是否有一種方法可以在不傳入EditText的情況下一般地關閉鍵盤?通用鍵盤解除
在片段的onDestroy()方法上,或者通過委託給父活動的自己的回調函數,您應該調用下面的方法。沒有必要在視圖中傳遞:
public static void hideSoftKeyboard(Activity activity) {
InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);
}
public static void showSoftKeyboard(Activity activity, View view) {
activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(view, 0);
}
public static boolean isSoftKeyboardShowing(Activity activity) {
InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
return inputMethodManager.isActive();
}