Android [Kotlin] ๐ป๐ค
[Kotlin] Dialog setOnClickListener
๋ฎค๋ง์ด
2021. 11. 20. 00:01
๐ ์๋ชป ๊ตฌํํ ์ฝ๋
binding.btnCreate.setOnClickListener{
val DialogView = LayoutInflater.from(context).inflate(R.layout.fragment_create_dialog,null)
val Builder = AlertDialog.Builder(context)
.setView(DialogView)
Builder.show()
}
โ ์ด๋ ๊ฒ ๊ตฌํํ ๊ฒฝ์ฐ ์๋ก์ด ๋ทฐ๊ฐ ์์ฑ๋ผ์ CreateDialogFragment.kt์์ ์ ์ํ setOnClickListener๋ฅผ ์ฌ์ฉํ ์ ์๋ค
-> ์ด ๋ถ๋ถ ์ ์ดํด๋ชปํจ (๋ ๊ณต๋ถ ํ์)
๐ InHomeFragment.kt (์ฌ๋ฐ๋ฅธ ์ฝ๋)
binding.btnCreate.setOnClickListener{
CreateDialogFragment().show(childFragmentManager,"")
}
โ show()๋ก ๊ตฌํํ๋ฉด ๊ฐ๋ฅํ๋ค
โ CreateDialogFragment.kt ์์ ๊ตฌํํ ํด๋ฆญ๋ฆฌ์ค๋๋ค์ ์ฌ์ฉํ ์ ์๋ค
๐ CreateDialogFragment.kt
class CreateDialogFragment : DialogFragment() {
private var _binding: FragmentCreateDialogBinding? = null
private val binding get() = _binding ?: error("์๋ฌ์๋ฌ")
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
_binding = FragmentCreateDialogBinding.inflate(
layoutInflater,
container,
false
)
binding.btnCancel.setOnClickListener {
dismiss()
}
binding.btnListen.setOnClickListener {
val intent = Intent(requireContext(), ChattingActivity::class.java)
startActivity(intent)
}
return binding.root
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
}
โ dismiss() : ๋ค์ด์ผ๋ก๊ทธ๊ฐ ์ฌ๋ผ์ง