문제 해결

DiaLog 활용하기

SeongukHeo11 2024. 2. 3. 21:24

오늘은 강사님께서 내주신 미니 프로젝트를 진행하는 도중 DIaLog를 활용하는 부분에서 막히게 되었습니다..!

 

★DiaLog란?

 

 

 

 

DiaLog를 활용하려는 화면!

 

저는 사용자가 만약 제목을 작성하지 않고 우측 상단에 Menu를 누른다면 DiaLog를 활용하여 

제목을 입력하지 않았다고 알려주고

사용자가 내용을 입력하지 않고 Menu를 누른다면 DiaLog를 활용하여 

내용을 입력하지 않았다고 알려주고 싶었습니다!

 

그래서 저는 우선 DiaLog를 함수에 담아 정의를 했습니다!

 

fun showDiaLog(title:String, message:String){
        //DiaLog를 보여준다
        var viewDiaLog = MaterialAlertDialogBuilder(this@SecondActivity).apply {
            setTitle(title)
            setMessage(message)
            setPositiveButton("확인"){ dialogInterface: DialogInterface, i: Int ->


            }

        }
        viewDiaLog.show()

 

제목을 입력 하지 않았을 때와 내용을 입력하지 않았을 때 보여지는 DiaLog의 내용을 다르게 하기 위해

매개변수를 사용하였습니다!

 

이제 사용자에게 입력을 받고 다른 Activity로 넘겨야 하는 부분으로 넘어가서 DiaLog 함수를 사용하였습니다!

 

if (title.isEmpty()){
                        showDiaLog("제목 입력 오류", "제목을 입력해주세요")

위의 코드처럼 만약 title의 내용이 비어있다면 -> DiaLog를 보여줍니다

 

아까 DiaLog함수를 만들 때 매개변수로 title과 message를 주었기 때문에 제목을 작성하지 않았을 때

보여줄 DiaLog를 만들어 주었습니다!

 

전체적인 코드는 이렇게 작성을 하였습니다!

 

 setOnMenuItemClickListener {

                    var title = titleTextField.text.toString()
                    var content = contentTextField.text.toString()
                    var currentTime = LocalDate.now().toString()

                    if (title.isEmpty()){
                        showDiaLog("제목 입력 오류", "제목을 입력해주세요")


                    }else if (content.isEmpty()){
                        showDiaLog("내용 입력 오류", "내용을 입력해주세요")
                    }else {
                        var meno = MemoClass(title, content, currentTime)

                        var newIntent = Intent()
                        newIntent.putExtra("obj1", meno)
                        setResult(RESULT_OK, newIntent)
                        finish()
                    }

                        true

                }

else if를 활용하여 작성하였으며 최종적으로 제목과 내용이 모두 비어있지 않을 경우 다른 Activity로 넘겨주게끔 

만들었습니다!

 

제목을 안적었을 때!

 

내용을 안적었을 때!

 

느낀점: 이 부분이 과제가 가장 마지막 부분이었는데 이것저것 찾아보다가 다른 분께서 쓰신 Tstory 블로그를 참고하여

완성을 해볼 수 있었습니다! 그래서 저도 블로그에 작성을 해두면 누군가라도 도움을 받을 수 있지 않을까 싶어 

적어보았습니다!