- Custom Dialog에서 TextField를 통해 텍스트를 입력 받다가 키보드 외 공간을 클릭했을 때 키보드를 숨기는 로직 구성 중 발생
- InputMethodManager: hideSoftInputFromWindow ignore mServedView == null or mServedView.getWindowToken() != windowToken
logcat을 통해 다음 에러 메세지를 보고 LocalSoftKeyboardController.current 선언 위치가 문제인 것으로 판단
dialog가 새로 띄어지고 새로 띄어지는 view에서 keyboardController 로직 처리
@Composable
fun Test(
value: String,
setShowDialog: (Boolean) -> Unit,
setValue: (String) -> Unit,
) {
// 선언 위치가 여기가 되면 안됨.
// val keyboardController = LocalSoftwareKeyboardController.current
val txtFieldError = remember { mutableStateOf("") }
val txtField = remember { mutableStateOf(value) }
Dialog(
onDismissRequest = { setShowDialog(true) },
properties = DialogProperties(usePlatformDefaultWidth = false)
) {
val keyboardController = LocalSoftwareKeyboardController.current
Surface(
modifier = Modifier
.width(700.dp)