我最近从支持库recyclerview-v7:23.1.1更新到recyclerview-v7:25.1.0。Recyclerview onBindViewHolder调用LinearLayout中的所有项目,并带有权重
我的布局包含2个在屏幕上分割50%的recylerviews。 XML代码如下:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:scrollbars="none"/>
<android.support.v4.widget.Space
android:layout_width="@dimen/two_dp"
android:layout_height="match_parent"
android:background="@color/dark_gray"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:scrollbars="none"/>
</LinearLayout>
现在onBindViewHolder被称为所有列表项而不是只是可见的项目。 更新到支持库25.1.0后开始发生。
它是工作正常,如果权重被删除,但有2个recylcerviews并排是必需的。
如何让recyclerview回收视图而不是全部加载?
更新:它可以在棉花糖和以上设备上正常工作。这个问题存在于棒棒糖或以下。 你可以在这里找到一个演示项目:https://bitbucket.org/aniketit/recyclerviewtest
发布相关的onBindViewHolder代码 –
@BradleyWilson onBindViewHolder被调用,而不管它里面的代码。我尝试了一个空的onBindViewHolder函数。 –
好吧,这很奇怪。我无法真正帮助您只使用RemllerViews的XML,您能发布任何您认为相关的代码或可能导致问题的代码(项目行布局等等) –