如何访问对话范围中夸大的自定义视图



我需要访问在DialogFragment中夸大的视图。inflatercontainer似乎未解决,但是当我将其添加到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)

然后,您可以使用"对话框构建器"中的视图。

最新更新