title: Anko DSL recyclerview strange behaviour while adding items
body: <p>So I initially have 6  items in my RecyclerView. When I add an item I got a toast that's says that new item is added and shows that adapter items increased. But the new item is a duplicate of the item "6". Then I add to more items and ther are all "6". Then I scroll up and down and I see items "byButton"(that's the name of button added by clicking a button) that are between those duplicates of "6". And after a while the whole RecycleView reset and I still have 6 items just like at the beginning. I don't know what's wrong with my code.</p>
  
  <pre><code>class ConnectDeviceUI(val listAdapter: DeviceListAdapter): AnkoComponent&lt;ConnectBleActivity&gt; {
      lateinit var addItemButton: FloatingActionButton
      override fun createView(ui: AnkoContext&lt;ConnectBleActivity&gt;): View = with(ui) {
          return relativeLayout() {
              lparams(width= matchParent, height = matchParent)
  
              textView("List of BLE devices"){
                  setTextAppearance(android.R.style.TextAppearance_Material_Large)
              }
  
              addItemButton = floatingActionButton {
                  imageResource = android.R.drawable.ic_input_add
              }.lparams{
                  margin = dip(10)
                  alignParentBottom()
                  alignParentEnd()
                  alignParentRight()
                  gravity = Gravity.BOTTOM or Gravity.END
              }
  
              recyclerView(){
                  layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, true)
                  lparams(width= matchParent, height = matchParent)
                  adapter = listAdapter
  
              }
          }
      }
  }
  
  
  class RowLayout(): AnkoComponent&lt;ViewGroup&gt;{
      override fun createView(ui: AnkoContext&lt;ViewGroup&gt;): View = with(ui) {
          return linearLayout(){
              lparams(width= matchParent, height = wrapContent)
              setPadding(0,dip(50),0,dip(50))
  
              textView {
                  id = R.id.ble_item
                  setTextAppearance(android.R.style.TextAppearance_Material_Large)
                  setPadding(0,0,dip(100),0)
              }.lparams(width = wrapContent, height = wrapContent )
  
              button{
                  id = R.id.ble_item_button
              }.lparams(width = wrapContent, height = wrapContent)
  
          }
      }
  }
  
  
  class ConnectBleActivity : AppCompatActivity(), AnkoLogger {
  
      lateinit var BleDevicesList: ArrayList&lt;String&gt;
  
      override fun onCreate(savedInstanceState: Bundle?) {
          super.onCreate(savedInstanceState)
  
          BleDevicesList = arrayListOf("1", "2","3", "4", "5", "6")
          var adapter = DeviceListAdapter(BleDevicesList)
          var ui = ConnectDeviceUI(adapter)
          ui.setContentView(this)
          ui.addItemButton.onClick {
              adapter.put()
              toast("New item added. Number of items: ${adapter.itemCount} ")
          }
  
      }
  }
  
  
  
  
  class DeviceListAdapter(var deviceList: ArrayList&lt;String&gt;): RecyclerView.Adapter&lt;DeviceListHolder&gt;(){
      override fun onBindViewHolder(holder: DeviceListHolder?, position: Int) {
          holder?.bindItems(deviceList[position])
      }
      override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): DeviceListHolder {
          return DeviceListHolder(RowLayout().createView(AnkoContext.create(parent!!.context, parent)))
      }
      override fun getItemCount(): Int {
          return deviceList.size
      }
  
      fun put(){
          val randomString = UUID.randomUUID().toString()
          deviceList.add(deviceList.lastIndex, "byButton")
          notifyItemInserted(deviceList.lastIndex)
      }
  
      fun drop(){
          deviceList.removeAt(deviceList.lastIndex)
          notifyItemRemoved(deviceList.lastIndex)
      }
  
  
  }
  
  class DeviceListHolder(var view: View): RecyclerView.ViewHolder(view){
      val name: TextView = view.find(R.id.ble_item)
      val bt_name: Button = view.find(R.id.ble_item_button)
      fun bindItems(listItem: String){
          name.text = listItem
          bt_name.text = "Test"
      }
  
  }
  </code></pre>