recycleview 嵌套高度问题_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);


版权声明:本文为weixin_39770416原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。