android – 在NestedScrollView onBindViewHolder中的RecyclerView调用所有getItemCount大小

前端之家收集整理的这篇文章主要介绍了android – 在NestedScrollView onBindViewHolder中的RecyclerView调用所有getItemCount大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我将RecyclerView放入NestedScrollView时,然后onBindViewHolder调用所有行,比如说我有一个大小为30的列表,那么即使没有滚动,也会同时为所有30行调用onBindViewHolder
RecyclerView list;
    LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
        list.setLayoutManager(layoutManager);
        layoutManager.setAutoMeasureEnabled(true);
        list.setNestedScrollingEnabled(false);
        list.addItemDecoration(new VerticalSpaceItemDecoration(5));
        list.setAdapter(adapter);

我的xml是

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true"
    android:scrollbars="none"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">
 <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/grey">
    <android.support.v7.widget.RecyclerView
            android:id="@+id/recycler_views"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/info"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:textAlignment="center"

            android:visibility="visible"
           />

但如果我删除NestedScrollView它正常工作.

解决方法

高度问题引起的问题.

1)编辑NestedScrollView& RecyclerView如下:

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    ......
    app:layout_behavior="@string/appbar_scrolling_view_behavior">
        .......
        <android.support.v7.widget.RecyclerView
            android:id="@+id/recycler_views"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            ..... 
            />

2)确保你编译了’com.android.support:recyclerview-v7:23.2.1′

猜你在找的Android相关文章