在 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()
即可。
我是 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()
即可。