当我在recyclerView中使用wrap_content或match_parent时,多次调用onCreateViewHolder

时间:2019-04-23 12:45:03

标签: android android-recyclerview

我在RecyclerView中使用LinearLayoutManager和wrap_content,但是将其父级设置为100dp,我只能在屏幕上看到三个项目,我认为onCreateViewHolder会被调用三遍,但是已经被调用了二十多次,我发现RecyclerView调用onMeasure 4次,其高度分别为2640,400,2640和400。每当它调用onMeasure时,LinearLayoutManager都会使用此高度来计算它可以容纳的项目数,因此当高度为2640时,会多次调用onCreateViewHolder。Recyclerview不能在特定高度的父级中使用wrap_content或match_parent吗? >

<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="100dp">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/rv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>

</FrameLayout>

0 个答案:

没有答案