마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

(코틀린입니다) 버튼 클릭시 버튼에 텍스트 출력, 버튼 클릭시 출력된 텍스트 삭제

0 추천
con2 (150 포인트) 님이 2022년 3월 11일 질문

1개의 답변

+1 추천

버튼이 속해 있는 Activity/Fragment에 Boolean 터압의 private 멤버변수를 두시고 Boolean값에 따라 동작을 분기해주시면 됩니다.

private var showButtonCaption = false // 클래스 멤버 변수


// 버튼 초기화
button.setOnClickListener {
      toggleButtonCaption()
}

private fun toggleButtonCaption() {
    // 버튼이 눌릴 때마다 Boolean 값을 바꾼다.
    showButtonCaption = !showButtonCaption
    
    button.text = if (showButtonCaption) {
          "출력할 텍스트"
    }  else {
          ""
    }
}

 

아래처럼 enum을 사용할 수도 있습니다.

enum class ButtonCaption(val caption: String) {
     SHOW("출력할 텍스트") {
          @Override
          fun next() =  CLEAR
     },
     CLEAR("") {
         @Override
          fun next() =  SHOW
     };

     abstract fun next(): ButtonCaption
}

private var buttonCaption = ButtonCaption.CLEAR // 클래스 멤버 변수


// 버튼 초기화
button.setOnClickListener {
      toggleButtonCaption()
}

private fun toggleButtonCaption() {
    // 버튼이 눌릴 때마다 Enum 값을 바꾼다.
    buttonCaption = buttonCaption.next()    
    button.text = buttonCaption.caption
         
}

 

spark (227,530 포인트) 님이 2022년 3월 11일 답변
...