开始点点滴滴————20180919

做了几年的开发,一直没有做记录的习惯,本来记忆就不太好,某些不常用的东西用过之后就丢。最近发现有些问题重复的出现,但是已经忘记了怎么去处理,又要重新度一次,感觉非常浪费时间。希望能从现在开始将工作中遇到的问题和得到的收获记录下来,一是在自己以后再遇到的时候能够快速有效的找到方案,二是希望能帮助和我遇到同样问题的同僚们。

1,viewpager+fragment中有recycleView,发现fragment不显示,报错:No adapter attached:skipping layout,网上查了很多资料一直都是没显示,后来找了两位大神帮忙看了一下,才发现是在fragment的onCreateView方法中没有将view返回。在此特地记录一下,自己已扇几个大巴掌。希望大家一定细心细心再细心。

 

2.Fragment 在横竖屏切换的时候崩溃的问题,这个需要在fragment所在的activity中配置属性:android:configChanges="orientation|screenSize"(menifest),并且在fragment中重写onConfigurationChanged方法,在此方法中执行你要进行的操作。参考:fragment横竖屏切换导致崩溃

 

3.android.support.v4.widget.SwipeRefreshLayout进行页面刷新,大家都知道,SwipeRefreshLayout中只能放一个滚动容器,但是有些需求中需要用到两个recycleView(我的就是),然后就想到在外层再放一个ScrollView,不过肯定会滑动冲突,然后问了一下度娘,发现可以用android.support.v4.widget.NestedScrollView,但是如果不设置的话还是会卡顿,不流畅。需要分别对recycleView的layoutmanager进行设置,如下:

     LinearLayoutManager manager=new LinearLayoutManager(getActivity()){
            @Override
            public boolean canScrollVertically() {
                //解决ScrollView里存在多个RecyclerView时滑动卡顿的问题
                //如果你的RecyclerView是水平滑动的话可以重写canScrollHorizontally方法
                return false;//禁掉滚动
            }
        };
    rcv1.setLayoutManager(manager);
    rcv2.setLayoutManager(manager);

这样只有scrollView的滚动事件了,也就是两个recycleView不能单独滚动,看大家的需求。参考:https://www.jianshu.com/p/98f2fcfb0e22

4.fragment中嵌套fragment调用transaction.commit()出现如下错误,

 java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState

解决方法:将commit()换成commitAllowingStateLoss (),参考如下:

解决java.lang.IllegalStateException: Can not perform this action after onSaveInstance

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值