在使用Glide的Recyclerview中不显示图像

我有一个使用recyclerview的文章列表。 该列表是伟大的,但问题来了,当我尝试在recyclerview添加图像。 我正在使用Glide添加图像。 我已经成功添加使用导航抽屉滑翔添加图像,但是当我尝试在RecyclerView它显示没有比我默认的图像来源。

这是我的kotlin

class InformationListActivity : MainActivity() { private val glide: RequestManager? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_information_list) val toolbar = findViewById(R.id.toolbar) as Toolbar setSupportActionBar(toolbar) supportActionBar!!.setDisplayHomeAsUpEnabled(true) supportActionBar!!.setDisplayShowHomeEnabled(true) val user = FirebaseAuth.getInstance().currentUser val uName = user?.displayName val uEmail = user?.email val uPhotoUrl = user?.photoUrl user?.uid val navigationView = findViewById(R.id.nav_view) as NavigationView navigationView.setNavigationItemSelectedListener(this) val headerView = navigationView.getHeaderView(0) val navName = headerView.findViewById(R.id.navName) navName.text = uName val navEmail = headerView.findViewById(R.id.navEmail) navEmail.text = uEmail val navImage = headerView.findViewById(R.id.navImage) Glide.with(this).load(uPhotoUrl).into(navImage) window.clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS) val signOut = findViewById(R.id.btnSignOut) as LinearLayout signOut.setOnClickListener { FirebaseAuth.getInstance().signOut() val goToLogin = Intent(this@InformationListActivity, LoginActivity::class.java) startActivity(goToLogin) } val recyclerView = findViewById(R.id.recycler_view) as RecyclerView recyclerView.setHasFixedSize(true) recyclerView.layoutManager = LinearLayoutManager(this) val myref = FirebaseDatabase.getInstance().reference.child("/posts") val recyclerAdapter = object : FirebaseRecyclerAdapter( Post::class.java, R.layout.information_model, InformationListActivity.PostViewHolder::class.java, myref ) { override fun populateViewHolder(viewHolder: InformationListActivity.PostViewHolder, model: Post, position: Int) { val data_empty = findViewById(R.id.data_empty) as TextView data_empty.visibility = View.GONE viewHolder.run { glide?.let { setmPostImageUrl(it,model.getmPostImageUrl()) } setmPostTitle(model.getmPostTitle()) setmPostDescription(model.getmPostDescription()) viewHolder.setItemClickListener(object : ItemClickListener { override fun onItemClick(pos: Int) { //OPEN DETAIL ACTIVITY openInformationDetail(model.getmPostImageUrl(), model.getmPostTitle(), model.getmPostDescription()) } }) } } } recyclerView.adapter = recyclerAdapter } private fun openInformationDetail(vararg details: String) { val i = Intent(this, InformationDetailActivity::class.java) i.putExtra("POSTIMAGEURL_KEY", details[0]) i.putExtra("POSTTITLE_KEY", details[1]) i.putExtra("POSTDESCRIPTION_KEY", details[2]) startActivity(i) } class PostViewHolder(mView: View) : RecyclerView.ViewHolder(mView), View.OnClickListener { private var modelImgPost: ImageView = mView.findViewById(R.id.imgPost) private var modelPostTitle: TextView = mView.findViewById(R.id.modelPostTitle) private var modelPostDescription: TextView = mView.findViewById(R.id.modelPostDescription) private var btnMore: Button = mView.findViewById(R.id.btnMore) private lateinit var itemClickListener: ItemClickListener init { btnMore.setOnClickListener(this) } fun setItemClickListener(itemClickListener: ItemClickListener) { this.itemClickListener = itemClickListener } override fun onClick(view: View) { this.itemClickListener.onItemClick(this.layoutPosition) } fun setmPostImageUrl(glide: RequestManager, mPostImageUrl: String) { glide.load(Uri.parse(mPostImageUrl)).into(modelImgPost) } fun setmPostTitle(mPostTitle: String) { modelPostTitle.text = mPostTitle } fun setmPostDescription(mPostDescription: String) { modelPostDescription.text = mPostDescription } } 

 if (glide != null) { setmPostImageUrl(glide, model.getmPostImageUrl()) } 

滑翔是空的,因为你永远不会分配/实例化它。

替换这一行:

 private val glide: RequestManager? = null 

有:

 private var glide: RequestManager? = null 

并在onCreate()做:

 glide = Glide.with(this)