在 Samsung Galaxy S22 设备上,由于系统修改,当 Alert Dialog 窗口弹出后,用户点击 EditText 视图时,窗口会被自动关闭。
为了解决这个问题,我们可以使用以下方法:
EditText editText = findViewById(R.id.editText);
editText.setFocusable(false);
editText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//打开软键盘
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
//设置 EditText 聚焦
editText.setFocusableInTouchMode(true);
editText.requestFocus();
}
});
这样就可以在 Alert Dialog 窗口弹出时,让用户在点击 EditText 视图时,窗口不会消失,而且还可以正常输入。