title: Trying to create a simple recyclerView in Kotlin, but the adapter is not applying properly
body: <p>I'm trying to create a simple recyclerView in Kotlin with data that I get via Volley (which I have confirmed returns the correct data), I keep running to the error <code>E/RecyclerView: No adapter attached; skipping layout</code> when in fact I have specified an adapter with the custom adapter class that I created:</p>
  
  <pre><code>class ImageAdapter(var c: Context, var list: ArrayList&lt;Image&gt;) : RecyclerView.Adapter&lt;ImageAdapter.ViewHolder&gt;() {
  override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder? {
      val layoutInflater = LayoutInflater.from(parent.context)
      return ViewHolder(layoutInflater.inflate(R.layout.image_cardview, parent, false))
  }
  
  override fun onBindViewHolder(holder: ViewHolder, position: Int) {
      val imageUrl = list[position].url
      val submitter = list[position].submitter
      val color = list[position].color
      holder.submitterTV.text = submitter
      holder.card.setCardBackgroundColor(Color.parseColor(color))
  }
  
  override fun getItemCount() = list.size
  class ViewHolder(itemView: View): RecyclerView.ViewHolder(itemView){
      val card = itemView.card
      val submitterTV = itemView.submitter
      val imageView = itemView.image
  }
  
  }
  </code></pre>
  
  <p>This is my MainActivty class, where I make the actual call for the JSON and attempt to attach my adapter with my ArrayList that I have created:</p>
  
  <pre><code>class MainActivity : AppCompatActivity() {
  val images = ArrayList&lt;Image&gt;()
  override fun onCreate(savedInstanceState: Bundle?) {
  
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)
      imageList.layoutManager = LinearLayoutManager(applicationContext)
      request("https://api.unsplash.com/photos/curated/?client_id=API_KEY")
      imageList.adapter = ImageAdapter(applicationContext, images)
  
  }
  
  private fun request(url: String) {
      val queue = Volley.newRequestQueue(this)
      val stringRequest = JsonArrayRequest(url, Response.Listener&lt;JSONArray&gt; { response -&gt;
          try {
              for (i in 0..(response.length() - 1)) {
                  val image: Image = Image(response.getJSONObject(i).getJSONObject("urls").getString("full"), response.getJSONObject(i).getJSONObject("user").getString("username"), response.getJSONObject(i).getString("color"))
                  images.add(image)
              }
  
              imageList.adapter.notifyDataSetChanged()
  
          } catch (e: JSONException) {
              e.printStackTrace()
          }
      }, Response.ErrorListener { })
      queue.add(stringRequest)
  }
  }
  </code></pre>
  
  <p>I have created a custom data class <code>Image</code> which stores three fields: the imageUrl, submitter and color, all of which are derived from the JSON. I thought that calling <code>notifyDataSetChanged()</code> on my adapter after the request was completed would allow the recyclerView to get updated and show the items, but nothing at all shows up on the screen. Does anyone have any idea as to where I messed up?</p>