Fix keyboard not close after close dialog

This commit is contained in:
NekoInverter committed 2020-12-17 10:55:37 +08:00
1 parent a4bb3951a0
commit f92bc1b68a
1 file changed
+10 -1
@@ -22,6 +22,7 @@ import android.content.DialogInterface;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
@@ -33,10 +34,11 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.textfield.TextInputLayout;
import com.hippo.ehviewer.R;
public class EditTextDialogBuilder extends MaterialAlertDialogBuilder implements EditText.OnEditorActionListener {
public class EditTextDialogBuilder extends MaterialAlertDialogBuilder implements EditText.OnEditorActionListener, DialogInterface.OnDismissListener {
private final TextInputLayout mTextInputLayout;
private final EditText mEditText;
private final InputMethodManager mInputMethodManager;
private AlertDialog mDialog;
@SuppressLint("InflateParams")
@@ -50,6 +52,7 @@ public class EditTextDialogBuilder extends MaterialAlertDialogBuilder implements
mEditText.setSelection(mEditText.getText().length());
mEditText.setOnEditorActionListener(this);
mTextInputLayout.setHint(hint);
mInputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
}
public EditText getEditText() {
@@ -68,6 +71,7 @@ public class EditTextDialogBuilder extends MaterialAlertDialogBuilder implements
@Override
public AlertDialog create() {
mDialog = super.create();
mDialog.setOnDismissListener(this);
return mDialog;
}
@@ -83,4 +87,9 @@ public class EditTextDialogBuilder extends MaterialAlertDialogBuilder implements
return false;
}
}
@Override
public void onDismiss(DialogInterface dialog) {
mInputMethodManager.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
}
}