728x90
AlertDialog를 Fragment로 만들어 사용할 수 있도록 제공되는 Fragment이다
AlertDialog와 큰 차이는 없다.
DialogFragment도 Fragment 이므로 Fragment의 생명주기나 기타 다양한 기능들을 그대로 사용할 수 있다.
package com.example.dialogfragment
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
val subFragment = SubFragment()
subFragment.show(supportFragmentManager,"tag")
}
}
}

SubFragment(다이얼로그)
package com.example.dialogfragment
import android.app.Dialog
import android.os.Bundle
import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.DialogFragment
import kotlinx.android.synthetic.main.activity_main.*
class SubFragment : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val mainActivity = activity as MainActivity
val builder = AlertDialog.Builder(mainActivity)
builder.setTitle("타이틀 입니다")
builder.setMessage("메시지 입니다")
builder.setPositiveButton("Positive"){dialogInterface,i ->
mainActivity.textView.text = "Positive"
}
builder.setNeutralButton("Neutral"){dialogInterface,i ->
mainActivity.textView.text = "Neutral"
}
builder.setNegativeButton("Negative"){dialogInterface,i ->
mainActivity.textView.text = "Negative"
}
val alert = builder.create()
return alert
}
}
728x90
'안드로이드 > Fragment' 카테고리의 다른 글
안드로이드 Activity Animation (0) | 2022.06.17 |
---|---|
안드로이드 Fragment Animation (0) | 2022.06.17 |
안드로이드 ListFragment (0) | 2022.06.17 |
안드로이드 Activity Controller (0) | 2022.06.17 |
안드로이드 Fragment 내의 View 제어 (0) | 2022.06.17 |