我需要访问在DialogFragment
中夸大的视图。inflater
和container
似乎未解决,但是当我将其添加到onCreateDialog
的括号中时,返回了overrides nothing
错误。在这种情况下,正确的解决方案是什么?
class MyDialogFragment : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val builder = AlertDialog.Builder(activity)
val rootView = inflater.inflate(R.layout.dialog_sample, container, false)
lateinit var tabLayout: TabLayout
lateinit var viewPager: ViewPager
builder.setIconAttribute(R.attr.imgNight)
builder.setTitle("My Program")
builder.setView(rootView)
builder.setPositiveButton(getString(R.string.ok)) { dialog, _ -> dialog.dismiss() }
tabLayout = rootView.findViewById(R.id.tabLayout)
viewPager = rootView.findViewById(R.id.viewPager)
val adapter = CustomAdapter(childFragmentManager)
adapter.addFragment("Boy", CustomFragment.createInstance("Oscar"))
adapter.addFragment("Girl", CustomFragment.createInstance("Stacy"))
adapter.addFragment("Robot", CustomFragment.createInstance("Aeon"))
viewPager.adapter = adapter
tabLayout.setupWithViewPager(viewPager)
return builder.create()
}
}
container
通过null,因为没有父视图。至于inflater
使用LayoutInflater.from(requireContext)
。
然后,您可以使用"对话框构建器"中的视图。