使用 ConcatAdapter RecyclerView 开始闪烁
With ConcatAdapter RecyclerView began flickering
我在我之前的列表(字符串数据和 ImageView)之前实现了额外的 webview,并将它们与 ConcatAdapter 连接起来。
现在我有以前的适配器(数据列表)、附加的新适配器(webview)和适配器 ConcatAdapter。
但是任何点击以及对 notifyDataSetChanged 的任何使用看起来都像刷新所有 UI。
我试过了
((SimpleItemAnimator) recyclerViewList.getItemAnimator()).setSupportsChangeAnimations(false);
但没有帮助。
什么可以帮助 UI 眨眼?
第一个适配器上的数据列表有字符串数据和ImageView,主要是闪烁的ImageView。
在 webview ImageView 工作正常之前。
很多小时但非常简单的解决方案:
ConcatAdapter.Config config = new ConcatAdapter.Config.Builder()
.setStableIdMode(ConcatAdapter.Config.StableIdMode.SHARED_STABLE_IDS).build();
adapter1.setHasStableIds(true);
adapter2.setHasStableIds(true);
concatAdapter = new ConcatAdapter(config, adapter1, adapter2);
我在我之前的列表(字符串数据和 ImageView)之前实现了额外的 webview,并将它们与 ConcatAdapter 连接起来。
现在我有以前的适配器(数据列表)、附加的新适配器(webview)和适配器 ConcatAdapter。
但是任何点击以及对 notifyDataSetChanged 的任何使用看起来都像刷新所有 UI。 我试过了
((SimpleItemAnimator) recyclerViewList.getItemAnimator()).setSupportsChangeAnimations(false);
但没有帮助。 什么可以帮助 UI 眨眼?
第一个适配器上的数据列表有字符串数据和ImageView,主要是闪烁的ImageView。 在 webview ImageView 工作正常之前。
很多小时但非常简单的解决方案:
ConcatAdapter.Config config = new ConcatAdapter.Config.Builder()
.setStableIdMode(ConcatAdapter.Config.StableIdMode.SHARED_STABLE_IDS).build();
adapter1.setHasStableIds(true);
adapter2.setHasStableIds(true);
concatAdapter = new ConcatAdapter(config, adapter1, adapter2);