当Picasso加载图像时,RecyclerView会自动滚动

时间:2016-07-07 13:27:46

标签: android android-recyclerview picasso

我有很多标准片段和标准的recyclerview。它工作正常,除了两个小小的细节:

  1. 当适配器向下滚动一点时(屏幕上的顶部项目不完全可见)我调用 notifyDataSetChanged notifyItemRangeChanged 适配器“跳了一下并自动滚动所以顶部项目(不在列表顶部,屏幕顶部)完全可见。

  2. 我正在向下滚动到列表的底部(假设我在屏幕上有2,5个项目)。最后一项缺少缩略图。毕加索完成加载缩略图并发生同样的事情 - 适配器自动滚动项目的高度为0.5,因此第一项在屏幕上完全可见。如果我在滚动后按住屏幕,则不会发生这种情况。

  3. 我可以通过添加 recyclerView.setHasFixedSize(true); 处理1.但是如何处理2?当我用毕加索删除这一行时没有发生这种情况,所以我猜这至少是造成这种行为的部分原因。

    @media screen and (min-width:998px) { 
       .navbar-nav { background-color:red; }
    }
    

    recyclerview:

    public class MyFragment extends Fragment {
    
        MyAdapter adapter;
        RecyclerView recyclerView;
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    
            ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.my_fragment, container, false);
            recyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view);
    
            return rootView;
        }
    
        @Override
        public void onActivityCreated(Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
    
            adapter = new MyAdapter((MyActivity)getActivity());
            recyclerView.setAdapter(adapter);
        }
    }
    

0 个答案:

没有答案