如何访问DialogFragment中膨胀的自定义视图

问题描述 投票:0回答:1

我需要访问在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()
    }
}
android android-fragments kotlin android-dialogfragment
1个回答
0
投票

由于没有父视图,container传递null。至于inflater使用LayoutInflater.from(requireContext)

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

© www.soinside.com 2019 - 2024. All rights reserved.