Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

settingFragment 다이얼로그 #25

Open
settle54 opened this issue Oct 5, 2024 · 1 comment
Open

settingFragment 다이얼로그 #25

settle54 opened this issue Oct 5, 2024 · 1 comment

Comments

@settle54
Copy link
Contributor

settle54 commented Oct 5, 2024

어떤 버그인가요?

'settingFragment'에서
nameChangeDialog에서 이름을 변경할 때마다 변경된 이름으로 edittext의 텍스트를 지정하고 싶은데, 잘 되지 않았습니다....
trim()이 적용되지 않는 것을 보아하니 입력했던 정보가 그대로 남아있는 것 같았습니다. 이름 입력 중간에 취소버튼을 누르면 입력하던 것이 그대로 남아있는데 이를 어떻게 해결할 수 있을까요?

@LeeOhHyung
Copy link

CustomEditDialog(
    resources.getString(R.string.change_name_dialog),
    binding.accountName.text.toString(),
    resources.getString(R.string.example_name),
    resources.getString(R.string.change_name_dialog_instruction),
    resources.getString(R.string.cancel),
    resources.getString(R.string.save),
    onPositiveClick = {
        if (checkNickname(it) == -1) {
            nameChangeDialog.setWrongInstruction(resources.getString(R.string.nickname_less_one))
        } else if (checkNickname(it) == 1) {
            nameChangeDialog.setWrongInstruction(resources.getString(R.string.nickname_more_six))
        } else {
            binding.accountName.text = it.trim()
            nameChangeDialog.dismiss()
        }
    }
).apply {
    isCancelable = false
}

제가 이해한게 맞다면, 이 Dialog가 뜰때 마다 새롭게 이름을 입력받게 하고 싶은데, 이전값이 남아있다는것이죠?
setDialogs() 메소드가 onViewCreated 단계에서 실행되는데, 생성자를 통해 전달되는 binding.accountName.text.toString() 값은 이때 고정되기 때문에 항상 동일한값이 전달되지 않을까 합니다. (call by value 이기 때문에)

그래서, Dialog가 show될때 마다 인스턴스가 생성되게 하거나, 아니면 CustomEditDialog의 onViewCreated에서 editText를 초기화 시켜주는 코드를 넣음으로써 해결할 수 있을것 같습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants