<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);
}
});
これを試してください。予想される動作(atm)のRecyclerview ** 'mRecyclerView.setNestedScrollingEnabled(false); ** ** –
を作成してください。私は昨年12月にGoogleにバグとして報告しました。唯一の回避策はRVにRVをネストすることです – Blackbelt
私はsetNestedScrollingEnabledをfalseにしましたが、それでもViewHolderを再利用しません。 – dengyuhan