1. DialogFragment란?
- AlertDialog를 관리하는 Fragment를 만들어 사용할 수 있도록 제공되는 Fragment이다.
- AlertDialog와 큰 차이는 없으며, 현업에서는 AlertDialog 보다 DialogFragment를 사용하는 것이 편할 때가 종종 있다.
2. 예제
1. DialogFragment를 상속하는 Fragment를 생성.
2. AlertDiaglouge생성
3. MainActivity에 Fragment show()
4. 리스너 생성 후 세팅
class FirstFragment : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
// 4. 리스너 세팅
var listner = DialogListner()
// 1. AlertDiaglouge 생성
var builder = AlertDialog.Builder(activity)
builder.setTitle("타이틀입니다")
builder.setMessage("메세지 입니다")
builder.setPositiveButton("positive", listner)
builder.setNeutralButton("neutral", listner)
builder.setNegativeButton("negative", listner)
var alert = builder.create()
return alert
}
// 4. 리스너 세팅
inner class DialogListner : DialogInterface.OnClickListener{
override fun onClick(dialog: DialogInterface?, which: Int) {
var main_activity = activity as MainActivity
when(which)
{
DialogInterface.BUTTON_POSITIVE ->
{
main_activity.textView4.text = "긍정"
}
DialogInterface.BUTTON_NEUTRAL ->
{
main_activity.textView4.text = "중립"
}
DialogInterface.BUTTON_NEGATIVE ->
{
main_activity.textView4.text = "부정"
}
}
}
}
}
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// 3. 메인에서 바로 AlertDiaglog를 띄운다.
button.setOnClickListener { view ->
var dialog = FirstFragment()
dialog.show(supportFragmentManager, "tag")
}
}
}
'Deperecated > Android_강의' 카테고리의 다른 글
안드로이드 - SQLite 데이터베이스(1) (0) | 2020.02.19 |
---|---|
안드로이드 - 데이터 관리 - 파일 입출력 (0) | 2020.02.19 |
안드로이드 - ListFragment (0) | 2020.02.19 |
안드로이드 - Activity Controller (0) | 2020.02.19 |
안드로이드 - Fragment (0) | 2020.02.19 |