zoukankan      html  css  js  c++  java
  • RecyclerView常见问题解决方案,RecyclerView嵌套自动滚动,RecyclerView 高度设置wrap_content 无作用等问题

     

    1,ScrollView或者RecyclerView1 嵌套RecyclerView2  进入页面自动跳转到recyclerView2上面页面会自动滚动
    貌似是RecyclerView 自动获得了焦点
    两种解决办法
    一,recyclerview去除焦点
    recyclerview.setFocusableInTouchMode(false);
    recyclerview.requestFocus();
    二,在代码里面 让处于ScrollView或者RecyclerView1 顶端的某个控件获得焦点即可
    比如顶部的一个textview
    tv_goodsName.setFocusableInTouchMode(true);  
    tv_goodsName.requestFocus(); 

    2,RecyclerView 高度设置wrap_content 无作用的bug,在listview中这么设置会不显示RecyclerView
    解决方案:
    这是RecyclerView兼容包的bug,23.2.0后官方已经修复了。
    所以直接在gradle里设置用23.2.0及以上的RecyclerView:
    compile 'com.android.support:recyclerview-v7:23.2.0'

    PS:如果修改后构建时报了其他奇怪的错,可以试试把兼容包也升级一下:
    compile 'com.android.support:cardview-v7:23.2.0'
    compile 'com.android.support:recyclerview-v7:23.2.0'
    compile 'com.android.support:appcompat-v7:23.2.0'
    compile 'com.android.support:design:23.2.0'

    3,RecyclerView 条目布局宽度设置match_parent无效果的问题解决 
     //这里为了解决recycleview不能撑满全屏的问题,这里layoutManager不管你布局里是否设置,都不准确,所以需要在代码里
     //重新设置MATCH_PARENT
            LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()) {
                @Override
                public RecyclerView.LayoutParams generateDefaultLayoutParams() {
                    return new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                            ViewGroup.LayoutParams.WRAP_CONTENT);
                }
            };
            layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
            xrecyclerview.setLayoutManager(layoutManager);

     

  • 相关阅读:
    The connection to adb is down, and a severe error has occured.问题解决
    JavaScript的实现
    Dreamer2.1 发布 新增将Bean解析成xml和json
    由某公司的面试小题目说起,对责任链模式的总结
    TCP协议中的SO_LINGER选项
    杭电2602(01背包问题)——第一次做背包问题的理解
    [置顶] 浏览器模式和标准对于javascript的影响
    李克强总理坚决不“救市”底气何来?
    lua序列化table表到文件中
    获取java byte的无符号数值
  • 原文地址:https://www.cnblogs.com/xgjblog/p/8260061.html
Copyright © 2011-2022 走看看