Как получить доступ к пользовательскому представлению, раздутому в DialogFragment - PullRequest
0 голосов
/ 18 февраля 2019

Мне нужно получить доступ к виду, который был раздут в 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()
    }
}

1 Ответ

0 голосов
/ 18 февраля 2019

container принимает значение null, поскольку родительское представление отсутствует.Что касается inflater, используйте LayoutInflater.from(requireContext).

. Затем вы можете использовать представление в построителе диалогов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...