参考了:
RecyclerView常见问题解决方案,RecyclerView嵌套自动滚动,RecyclerView 高度设置wrap_content 无作用等问题 - 邱石的专栏 - CSDN博客 http://blog.csdn.net/qiushi_1990/article/details/73551262
项目中遇到多个recyclerview嵌套时,要么只能显示一个Item,要么Item宽度不能铺满填充父布局,按照网上搜的“简单解决RecyclerView嵌套的RecyclerView条目显示不全和宽度不能铺满"还是没能解决,最后,看到本文开始的链接里的文章,终于解决了。
总结一下:最子recyclerview(最里面的)onCreateViewHolder方法中应这样写inflate(R.layout.item_fragment_study_hot_item, parent, false);
然后其父布局inflate(R.layout.item_fragment_study_hot_body, null, false);
这样的写法,解决了recyclerview只能显示一个Item,还有问题是宽度不能铺满,然后在写父recyclerview的setLayoutManager方法时,这样写:
//RecyclerView 条目布局宽度设置match_parent无效果的问题解决
//这里为了解决recycleview不能撑满全屏的问题,这里layoutManager不管你布局里是否设置,都不准确,所以需要在代码里
//重新设置MATCH_PARENT
LinearLayoutManager layoutManager = new LinearLayoutManager(context) {
@Override
public RecyclerView.LayoutParams generateDefaultLayoutParams() {
return new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
}
};
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(layoutManager);
这样就可以解决了,本人小白,原理不懂,有大神知道的,希望可以讲下