본문 바로가기
내일배움캠프 (스파르타 코딩 클럽) 안드로이드 2기/TIL

[TIL] 커스텀 다이얼로그 Positive Button 활성화 /

by 키윤 2024. 1. 17.

📖 Today I Learned

🔮 학습 및 노트 정리

다이얼로그 버튼을 유효성 검사의 결과에 따라서 활성화 시키는 코드를 작성해 보았다.

private fun addGroupBtn() {
    binding.ibtnAddContactAddGroup.setOnClickListener {
        val builder = AlertDialog.Builder(this)
        builder.setTitle(getString(R.string.dialog_add_group))
        builder.setMessage(getString(R.string.dialog_new_group))
        builder.setIcon(R.mipmap.ic_launcher)

        val v1 = layoutInflater.inflate(R.layout.dialog_add_group, null)
        builder.setView(v1)

        // p0에 해당 AlertDialog가 들어온다. findViewById를 통해 view를 가져와서 사용
        val listener = DialogInterface.OnClickListener { p0, p1 ->
            val alert = p0 as AlertDialog
            val newGroup: EditText? = alert.findViewById<EditText>(R.id.et_dialog_add_group)

            // 새로운 그룹 이름으로 입력 된 값이 비어 있거나 이미 있는 그룹을 입력하고
            // 확인을 누르면 토스트 메세지를 띄우도록 만들어보았습니다.
            // TODO : 아직 작동이 잘 되는지 확인이 안되었습니당.
            if (p1 == DialogInterface.BUTTON_POSITIVE) {
                groupData.forEach {
                    if (newGroup?.text.toString().isEmpty()) {
                        shortToastMessage(this,R.string.dialog_empty_text_message)
                    } else if (newGroup?.text.toString() == it) {
                        shortToastMessage(this,R.string.dialog_existing_group_message)
                    } else {
                        newContactGroup = newGroup?.text.toString()
                        addGroup(newContactGroup)
                    }
                }
            }

            newContactGroup = newGroup?.text.toString()
        }

        builder.setPositiveButton(getString(R.string.dialog_confirm_add_group), listener)
        builder.setNegativeButton(getString(R.string.dialog_cancel_add_group), null)

        builder.show()

    }
}

 

💡 알고리즘 - 코틀린 : 프로그래머스 코드 카타

  • 77484

https://occhiolism.tistory.com/101

 

[프로그래머스 • 코틀린] 로또의 최고 순위와 최저 순위 #77484

#77484 🎄 Question ? Description Lotto 6/45(Hereinafter 'Lotto') is a popular lottery game where six numbers are drawn from a pool of 45 numbers. The lottery prize tiers are as follows1: Prize TiersRequirement 1 All six numbers match 2 Five numbers match

occhiolism.tistory.com