在 Kotlin 的 Fragment 中使用 Glide 时 findViewById 中未解析的引用

Unresolved reference in findViewById when using Glide in Fragment in Kotlin

我是 Kotlin 新手。我在使用 Fragment 时出现“未解决的 reference:findViewByid”。我尝试添加“view?.findViewByid”,但应用程序崩溃并且 val imgUniverse returns“null”。有办法解决吗?谢谢

我正在尝试使用 PageViewer2 在多个屏幕上的不同 xml 上实现滑动图片。

KC

class Page1Fragment : Fragment() {


    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {

        // Inflate the layout for this fragment
        val imgUniverse = findViewById<ImageView>(R.id.image_universe)  // Unresolved reference in findViewById
        val imgFooter = findViewById<ImageView>(R.id.image_footer)    // Unresolved reference in findViewById

        Log.d("testing2: " , imgUniverse.toString())

        Glide.with(this)
            .load(R.drawable.universe3)
            .fitCenter()
            .centerCrop()
            .into(imgUniverse!!)

        Glide.with(this)
            .load(R.drawable.footer)
            .fitCenter()
            .centerCrop()
            .into(imgFooter!!)

        return inflater.inflate(R.layout.fragment_page1, container, false)


    }


}

您在膨胀(创建)视图之前搜索视图。该视图是在最后一行中通过使用 inflater.inflate() 对其进行膨胀而创建的。在此之前,none 的视图甚至存在,因此无法找到和使用。

将所有代码(最后一行除外)移至 onViewCreated() 即可。