【发布时间】:2016-09-14 13:44:52
【问题描述】:
我有一个VerticalRecyclerView,而这个垂直的RecyclerView's每一项都包含Horizontal RecyclerView。所以除了性能因素外,我已经完成了这项工作并且工作正常,当我滚动Vertical RecyclerView 时,垂直列表会闪烁并给出不良行为。我将Adapter 设置为水平RecyclerView 在垂直RecyclerView 内,所以每次滚动我都在创建一个新的适配器并设置数据,实际上这会导致性能。有什么办法可以优化吗?
代码
onBindViewHolder(){
setHorizontalList(items, horizontalolder);
}
setHorizontalList(ArrayList<Item> items, HorizontalHolder holder){
MyAdapter adapter = new MyAdapter();
adapter.setData(items);
holder.recyclerView.setAdapter(adapter);
holder.recyclerView.setLayoutManager(new LinearLayoutManager(mContext,
LinearLayoutManager.HORIZONTAL, false));
holder.recyclerView.setHasFixedSize(true);
}
【问题讨论】:
-
您找到解决方案了吗?我已经看到了类似的问题,我的内部项目背景不正确 wrap_content 应该是。
-
是的。我为 ViewHolder 类中的第二个 RecyclerView 创建了适配器。这样它就不会创建新实例。
-
我也做了同样的事情,但我的背景变得很不稳定。你介意快速看看我的问题吗? stackoverflow.com/questions/40823501/…
标签: android android-recyclerview horizontal-scrolling flicker linearlayoutmanager