在dialogfragment kotlin 中没有出现viewpager

问题描述

我目前正在尝试在 kotlin 的 Dialogfragment 中创建一个 viewpager。 viewpager 会像旋转木马一样显示各种片段。但是,viewPager 没有加载,显示为空白,有人可以帮我改正吗? :)

对话片段:

class mapaInformacion : DialogFragment() {
    /**
     * The pager widget,which handles animation and allows swiping horizontally to access prevIoUs
     * and next wizard steps.
     */
    private lateinit var mPager: ViewPager

    private var _binding: FragmentMapaInformacionBinding?= null
    private val binding get() = _binding!!

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    }
    override fun onCreateView(inflater: LayoutInflater,container: ViewGroup?,savedInstanceState: Bundle?): View? {
        //return super.onCreateView(inflater,container,savedInstanceState)
        dialog?.window?.setBackgroundDrawableResource(R.drawable.round_corner)
        _binding = FragmentMapaInformacionBinding.inflate(inflater,false)

        val view = binding.root
        return  view
    }
    override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
        return super.onCreateDialog(savedInstanceState)
        mPager = dialog!!.findViewById(R.id.pager)
        val pagerAdapter = ScreenSlidePagerAdapter(childFragmentManager)
        mPager.adapter = pagerAdapter
    }
    override fun onStart() {
        super.onStart()
        val width = (resources.displayMetrics.widthPixels * 0.90).toInt()
        val height = (resources.displayMetrics.heightPixels * 0.60).toInt()
        dialog!!.window?.setLayout(width,/*ViewGroup.LayoutParams.WRAP_CONTENT*/height)
    }
    override fun onDestroy() {
        super.onDestroy()
        _binding = null
    }

    private inner class ScreenSlidePagerAdapter(fm: FragmentManager) : FragmentStatePagerAdapter(fm) {
        override fun getCount(): Int = NUM_PAGES

        override fun getItem(position: Int): Fragment = ayudaQR()
    }
}

为了在屏幕上显示对话框片段,我在其他活动中使用了下一行代码

mapaInformacion().show(supportFragmentManager,"mapaInformacion")

对话框片段 XML:

<androidx.viewpager.widget.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".UI.AlertDialog.mapaInformacion" />

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)