title: OnBindViewHolder on update autoScroll to top
body: <p>After the adapter submitList to the DiffUtil, onBindViewHolder is called and for some reason it always scroll the list to the top.</p>
  
  <p>I tried every single one of the answers in SO regarding autoscroll on updating list in the recyclerview but can't solve the issue. </p>
  
  <p>i.e.</p>
  
  <p><a href="https://stackoverflow.com/questions/44993103/recyclerview-disable-scrolling-caused-by-change-in-focus">RecyclerView: Disable scrolling caused by change in focus</a></p>
  
  <p><a href="https://stackoverflow.com/questions/43123400/recyclerview-scrolls-to-top-on-notifydatasetchanged-in-chat-screen">RecyclerView scrolls to top on notifyDataSetChanged in chat screen</a></p>
  
  <p><a href="https://stackoverflow.com/questions/27079899/android-notifyitemrangeinserted-disable-autoscroll/30455749">android notifyItemRangeInserted disable autoscroll</a></p>
  
  <p>etc</p>
  
  <p>Here is my adapter:</p>
  
  <pre><code>init {
      setHasStableIds(true)
  }
  
  private val currentDiffer = AsyncListDiffer&lt;Item&gt;(this, MyDiffUtil())
  
  ...
  
  override fun setHasStableIds(hasStableIds: Boolean) {
      super.setHasStableIds(true)
  }
  
  override fun getItemCount(): Int {
      return currentDiffer.currentList.size
  }
  
  override fun getItemId(position: Int): Long = currentDiffer.currentList[position].name.hashCode().toLong()
  override fun getItemViewType(position: Int) = position
  
  override fun onAttachedToRecyclerView(recyclerView: RecyclerView) {
      super.onAttachedToRecyclerView(recyclerView)
  }
  
  override fun onBindViewHolder(holder: CurrentListViewHolder, position: Int) {
      holder.bindView(position, activity, currentDiffer.currentList[position], onCurrencyListener)
  }
  
  
  override fun onViewRecycled(holder: CurrentListViewHolder) {
      holder.unbindView()
      super.onViewRecycled(holder)
  }
  
  fun setData(list: LinkedList&lt;Item&gt;) {
      val newList: LinkedList&lt;Item&gt; = LinkedList()
      newList.addAll(list)
  
      currentDiffer.submitList(newList.toList())
  }
  </code></pre>
  
  <hr>
  
  <p>So after every new submit of the list, no matter what is the current position, onBindViewHolder is called and before it does anything the list is scrolled to 0 position like the scrollToPosition is called. </p>
  
  <p>EDIT:</p>
  
  <pre><code>private fun setView() {
  
    currentListAdapter = CurrentListAdapter()
    with(currenciesRv) {
          layoutManager = LinearLayoutManager(context)
          adapter = currentListAdapter
   }
  </code></pre>
  
  <p>layout:</p>
  
  <pre><code>      &lt;RelativeLayout
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"&gt;
  
          &lt;androidx.recyclerview.widget.RecyclerView
                  android:id="@+id/listRv"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"/&gt;
  
       &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>item:</p>
  
  <pre><code>&lt;RelativeLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools" 
      xmlns:app="http://schemas.android.com/apk/res-auto"
      android:id="@+id/itemLayout"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"&gt;
  
  &lt;de.hdodenhof.circleimageview.CircleImageView
          android:id="@+id/itemIvFlag"
          android:layout_width="50dp"
          android:layout_height="50dp"
          android:layout_marginTop="30dp"
          android:layout_marginStart="15dp"
          android:layout_alignParentStart="true"
          android:layout_centerVertical="true"/&gt;
  
  &lt;LinearLayout
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_toEndOf="@id/itemIvFlag"
          android:orientation="vertical"
          android:layout_centerVertical="true"
          android:layout_marginTop="10dp"&gt;
  
      &lt;TextView
              android:id="@+id/itemTvISO"
              android:layout_marginStart="10dp"
              android:textStyle="bold"
              tools:text="@string/dummy_number"
              android:textSize="16sp"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"/&gt;
  
      &lt;TextView
              android:id="@+id/itemTvName"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_marginTop="10dp"
              android:layout_marginStart="10dp"
              android:textSize="14sp"
              tools:text="@string/dummy_number"/&gt;
  
  &lt;/LinearLayout&gt;
  
  
  &lt;EditText
          android:id="@+id/itemEtAmount"
          android:layout_alignParentEnd="true"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_centerVertical="true"
          android:layout_marginEnd="15dp"
          tools:text="@string/dummy_number"
          android:inputType="numberDecimal"
          android:enabled="false"
          android:textColor="@drawable/et_disabled_color"
          android:imeOptions="actionDone"
          android:maxLines="1"
          android:singleLine="true"/&gt;
  
   &lt;/RelativeLayout&gt;
  </code></pre>