Ter o RecyclerView dentro de um NestedScrollView chama onBindView para todos os itens
Eu tenho doisRecyclerViews
colocado verticalmente em umLinearLayout
. Eu preciso tornar os dois roláveis e é por isso que coloquei oLinearLayout
dentroNestedScrollView
Este é o meu arquivo de layout.
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/featured_list"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<android.support.v7.widget.RecyclerView
android:id="@+id/all_topic_list"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Além disso, estou desativando a rolagem aninhada no código Java.
disableNestedScrolling(findViewById(R.id.all_topic_list));
disableNestedScrolling(findViewById(R.id.featured_list));
MinhasRecylerView
a versão da biblioteca é 26.1.0
Isso funciona bem perfeitamente, mas depoisonBindViewHolder
O método está sendo chamado para todos os itens da lista. Idealmente, ele deve ser chamado apenas para os itens visíveis na lista.
Acho que o problema está acontecendo porque estou dandowrap_content
aoRecyclerView
. Muitas respostas sobreesta A pergunta sugere que o problema foi resolvido na v23.2.1, mas eu já estou usando a v26.1.0. Como resolver este problema?