簡體   English   中英

如何訪問在DialogFragment中膨脹的自定義視圖

[英]How to access custom view inflated in DialogFragment

我需要訪問DialogFragment中已DialogFragment inflatercontainer似乎尚未解決,但是當我將它們添加到onCreateDialog的括號中時,將overrides nothing返回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)

然后,您可以在對話框構建器中使用該視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM