TabLayout设置分割线 RecyclerView报错IllegalStateException
来源:互联网 发布:movist for mac 1.4.1 编辑:程序博客网 时间:2024/05/19 19:31
TabLayout设置分割线 & RecyclerView报错IllegalStateException
刚开始准备用自定义View,tabLayout.addTab(tabLayout.newTab().setCustomView(view),false);
然而分割线是有了,但是不居中
LinearLayout mLinearLayout = (LinearLayout) tabLayout.getChildAt(0);// 在所有子控件的中间显示分割线(还可能只显示顶部、尾部和不显示分割线)mLinearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);// 设置分割线的距离本身(LinearLayout)的内间距mLinearLayout.setDividerPadding(20);// 设置分割线的样式mLinearLayout.setDividerDrawable(ContextCompat.getDrawable(mActivity, R.drawable.divider_vertical));//给LinearLayout设置跟Tab一样的背景色就好了mLinearLayout.setBackgroundColor(getResources().getColor(R.color.tabback));
RecyclerView报错IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling
在使用recycleview的时候,在滑动时调用notifydatachange,
这时候就会报recycleview在计算layout或者滑动的时候不能调用notifydatachange的错误解决方法:
在滑动或者计算layout的时候不刷新数据: 判断是否正在滑动的方法是getScrollState(),
如果它等于RecyclerView.SCROLL_STATE_IDLE说明不在滑动,判断有没有在计算layout的方法是isComputingLayout(),
取否就可以得到不在计算的时候,通过这两个条件来决定是否刷新数据代码如下
if (ryLeft.getScrollState() == RecyclerView.SCROLL_STATE_IDLE && !ryLeft.isComputingLayout()) { adapterLeft.notifyDataSetChanged();}
阅读全文
0 0
- TabLayout设置分割线 RecyclerView报错IllegalStateException
- TabLayout设置标签分割线
- RecyclerView设置divider分割线
- listview添加顶部分割线,报错ClassCastException HeaderViewListAdapter,,RecyclerView
- RecyclerView GridLayoutManager 设置分割线 万能分割
- RecyclerView使用ItemDecoration设置分割线
- TabLayout添加分割线
- TabLayout获取子tab中的view以及设置分割线
- RecyclerView分割线
- RecyclerView分割线详解
- RecyclerView分割线
- RecyclerView虚线分割线
- Android Recyclerview分割线
- RecyclerView(实现分割线)
- RecyclerView万能分割线
- recyclerview分割线 -总结
- RecyclerView分割线
- RecyclerView分割线
- Android MVP
- AMC美国数学竞赛考试信息大全
- System.currentTimeMillis()
- iKcamp出品微信小程序教学共5章16小节汇总(含视频)
- 关于Coding的一些思考
- TabLayout设置分割线 RecyclerView报错IllegalStateException
- Trading on Sentiment
- 【蓝桥杯】【凑算式】
- JVM内存溢出导致的CPU过高问题排查案例
- tomcat 内存不足设置
- 虚函数及继承
- maya(学习笔记)之灯光
- java获取文件的后缀名称
- P3375 【模板】KMP字符串匹配