버튼 클릭시 AlertDialog 표시
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// activity_main layout에서 Button과 EditText생성
val button = findViewById<Button>(R.id.button)
val edit = findViewById<EditText>(R.id.editText)
button.setOnClickListener {
AlertDialog.Builder(this@MainActivity)
.setTitle("대화상자 제목")
// EditText에서 입력받은 문자 출력
.setMessage(edit.text)
.setCancelable(false)
.setNeutralButton("닫기", DialogInterface.OnClickListener{ _, _ ->
}).show()
}
}
}
라디오 버튼
class MainActivity : AppCompatActivity() {
val binding by lazy { ActivityMainBinding.inflate(layoutInflater) }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// 1. binding 사용
/*setContentView(binding.root)
// setOnCheckedChangeListener 안을 group으로 묶어줌(_로 써도됨)
binding.radioGroup.setOnCheckedChangeListener{ group, checkedId ->
Log.d("RadioButton", "클릭되었습니다")
when(checkedId){
R.id.radio1 -> binding.textView.text = "사과가 선택되었습니다"
R.id.radio2 -> binding.textView.text = "바나나가 선택되었습니다"
R.id.radio3 -> binding.textView.text = "오렌지가 선택되었습니다"
}
}*/
// 2. binding 미사용
setContentView(R.layout.activity_main)
val radioGroup = findViewById<RadioGroup>(R.id.radioGroup)
val textView = findViewById<TextView>(R.id.textView)
radioGroup.setOnCheckedChangeListener{ group, checkedId ->
Log.d("RadioButton", "클릭되었습니다")
when(checkedId){
R.id.radio1 -> textView.text = "사과가 선택되었습니다"
R.id.radio2 -> textView.text = "바나나가 선택되었습니다"
R.id.radio3 -> textView.text = "오렌지가 선택되었습니다"
}
}
}
}
체크 박스
class MainActivity : AppCompatActivity() {
val binding by lazy { ActivityMainBinding.inflate(layoutInflater) }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//첫번째 방법
/* setContentView(binding.root)
binding.checkBox.setOnCheckedChangeListener(checkedListener)*/
val checkedListener by lazy {
// CompoundButton: 버튼 접근가능
CompoundButton.OnCheckedChangeListener { buttonView, isChecked ->
val checkBox = findViewById<CheckBox>(R.id.checkBox)
val textView = findViewById<TextView>(R.id.textView)
// if(isChecked == true) == if(isChecked)
if (isChecked) {
when (buttonView.id) {
R.id.checkBox -> {
textView.text = "체크됨"
}
}
} else {
when (buttonView.id) {
R.id.checkBox -> {
textView.text = "체크 해제됨"
}
}
}
}
}
// 두번째 방법
setContentView(R.layout.activity_main)
val checkBox = findViewById<CheckBox>(R.id.checkBox)
val textView = findViewById<TextView>(R.id.textView)
checkBox.setOnCheckedChangeListener{_, isChecked ->
if(isChecked) {
textView.text = "체크됨"
}else{
textView.text = "체크 해제됨"
}
}
}
}
'안드로이드' 카테고리의 다른 글
[Android] image (0) | 2022.03.23 |
---|---|
[Android] spinner (0) | 2022.03.23 |
[Android] Intent (0) | 2022.03.22 |
[Android] Fragment (0) | 2022.03.22 |
[Android] RecylerView (0) | 2022.03.21 |
댓글