可以使用下面的方法
/**
* 自动弹软键盘
*
* @param context
* @param et
*/
public static void showSoftInput(final Context context, final EditText et) {
new Timer().schedule(new TimerTask() {
@Override
public void run() {
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
et.setFocusable(true);
et.setFocusableInTouchMode(true);
//请求获得焦点
et.requestFocus();
//调用系统输入法
InputMethodManager inputManager = (InputMethodManager) et
.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(et, 0);
}
});
}
}, 200);
}
/**
* 自动关闭软键盘
* @param activity
*/
public static void closeKeybord(Activity activity) {
InputMethodManager imm = (InputMethodManager)activity.getSystemService(Context.INPUT_METHOD_SERVICE);
if(imm != null) {
imm.hideSoftInputFromWindow(activity.getWindow().getDecorView().getWindowToken(), 0);
}
}
/**
* 打开关闭相互切换
* @param activity
*/
public static void hideKeyboard(Activity activity) {
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isActive()) {
if (activity.getCurrentFocus().getWindowToken() != null) {
imm.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
}