title: recyclerview fails to request focus on the last item on 6th position
body: <p>I have recyclerview for stocking and when user hit "enter" on Qty edittext (the right one),it will add new item and focusing on barcode edittext (the left one) but strangely it only work 90% and sometime in some condition (that i dont know) it fails to set focus to the latest barcode edittext.</p>
  
  <p><strong>screenshot showing it request focus successfully to latest item:</strong></p>
  
  <p><a href="https://i.stack.imgur.com/jB8Wx.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/jB8Wx.png" alt="enter image description here"></a></p>
  
  <p><strong>and the failed one:</strong></p>
  
  <p><a href="https://i.stack.imgur.com/FaS0P.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/FaS0P.png" alt="enter image description here"></a></p>
  
  <p>and i tried debug the data in logcat showing <code>false</code> which means it should not focus there</p>
  
  <p><a href="https://i.stack.imgur.com/W3cpd.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/W3cpd.png" alt="enter image description here"></a></p>
  
  <p>and this is my script <code>onBindViewHolder</code>:</p>
  
  <pre><code>override fun onBindViewHolder(viewHolder: RecyclerViewBarcodeAdapter.ViewHolder, position: Int) {
      // Get the data model based on position
      val contact = mContacts[position]
      Log.d("dfocus", contact.isFocus.toString() + " = " + contact.barcode)
  
      viewHolder.positionTextWatcher.updatePosition(position)
      viewHolder.barcodeEditText.setText(contact.barcode)
  
  
      if (contact.isFocus)
      {
          viewHolder.barcodeEditText.requestFocus()
      }
  
      contact.isFocus = false
  
  }
  </code></pre>
  
  <p>How i can fix this? I need to make sure it focus on the right place because the cashiers need to be fast without having a look to their phone.</p>
  
  <p>this is how I add new item :</p>
  
  <p>model:</p>
  
  <pre><code>fun add(barcode: String, qty: Int): ArrayList&lt;BarcodeList&gt;
      {
          for (i in 0 until barcodeList.count())
          {
              barcodeList[i].isFocus = false
          }
  
          val contactModel = BarcodeList(barcode, qty)
          contactModel.isFocus = true
          barcodeList.add(contactModel)
  
          return barcodeList
      }
  </code></pre>
  
  <p>onkeylistener:</p>
  
  <pre><code>barcodeList = BarcodeList.add("20", 10)
                  adapter = RecyclerViewBarcodeAdapter(mContext, recyclerView, barcodeList)
                  val curSize = adapter.itemCount
                  adapter.notifyItemInserted(curSize-1)
  </code></pre>