2017-10-31 2 views
0
<android.support.v4.widget.NestedScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

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

</android.support.v4.widget.NestedScrollView> 

をリサイクルしません。
NestedScrollViewが存在しない場合、ViewHolderは再利用され、ログを出力します。
NestedScrollViewにネストされている場合、ビューはリサイクルされず、項目がますますメモリが急上昇するとログが出力されません。あなたのJavaファイル内NestedScrollViewはRecyclerViewを入れ子にすると、ViewHolder私はリサイクルがあるかどうかを確認するためにsetRecyclerListenerを設定

recyclerView.setNestedScrollingEnabled(false); 

を:

recyclerView.setRecyclerListener(new RecyclerView.RecyclerListener() { 
    @Override 
    public void onViewRecycled(RecyclerView.ViewHolder holder) { 
     Log.d("onViewRecycled", "recycled------->" + holder); 
    } 
}); 
+0

これを試してください。予想される動作(atm)のRecyclerview ** 'mRecyclerView.setNestedScrollingEnabled(false); ** ** –

+0

を作成してください。私は昨年12月にGoogleにバグとして報告しました。唯一の回避策はRVにRVをネストすることです – Blackbelt

+0

私はsetNestedScrollingEnabledをfalseにしましたが、それでもViewHolderを再利用しません。 – dengyuhan

答えて

0

あなたが指定しNestedScrollView

0

android:fillViewport="true"プロパティを追加する必要があります。

関連する問題