问题:LinearSmoothScroller,有时不会滑动

问题:LinearSmoothScroller,有时不会滑动-2020-5-25
场景:

bottom_list.setVisibility(View.VISIBLE);//一开始列表是隐藏,这是用于列表显示
RecyclerView recyclerView = (RecyclerView) mapLayout.findViewById(R.id.recycler_view);
LinearLayoutManager  linelarLayoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(linelarLayoutManager);
map_bottom_Adapter adapter = new map_bottom_Adapter(getActivity(), tips,mMapView);
recyclerView.setAdapter(adapter);
//平移
LinearSmoothScroller s1 = new map_bottom_Adapter.TopSmoothScroller(getActivity());
s1.setTargetPosition(5);
linelarLayoutManager.startSmoothScroll(s1);

一进页面列表是隐藏但是渲染好的,通过点击显示列表,进行移到某个位置,但是不会滑动
解决:

bottom_list.setVisibility(View.VISIBLE);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//要执行的操作
RecyclerView recyclerView = (RecyclerView) mapLayout.findViewById(R.id.recycler_view);
LinearLayoutManager  linelarLayoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(linelarLayoutManager);
map_bottom_Adapter adapter = new map_bottom_Adapter(getActivity(), tips,mMapView);
recyclerView.setAdapter(adapter);
LinearSmoothScroller s1 = new map_bottom_Adapter.TopSmoothScroller(getActivity());
s1.setTargetPosition(5);
linelarLayoutManager.startSmoothScroll(s1);
      }
         }, 300);//0.3秒后执行Runnable中的run方法 

让滑动延时一段时间后再进行,我设置300,你可以根据自己改

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章