提交完数据后,需要立即finish掉Activity,并关闭键盘 4.4 以上的系统可以在完成正常的关闭, 4.4以下的不能直接的,activity关闭了 键盘并不能关闭。
因此需要调用延时的关闭activity
runUiThreadDelay(new Runnable(){
@Override
public void run() {
finish();
}}, 300L);
关闭activity方法
@Override
public void finish() {
closeSoftKeyBoard();
super.finish();
}
关闭键盘方法
private void closeSoftKeyBoard() {
hideSoftInput(activity);
}
public static boolean hideSoftInput(Activity activity) {
if(activity.getCurrentFocus() != null) {
return imm.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);
} else {
return false;
}
}
主线线程延时任务
public void runUiThreadDelay(Runnable runnable, long delayMillis) {
getHandler().postDelayed(runnable, delayMillis);
}
public Handler getHandler() {
if (mHandler == null) {
mHandler = new Handler(Looper.getMainLooper());
}
return mHandler;
}