
我有一个水平的recyclervIEw(使用linearlayoutmanager),它的子项目有一个包含在relativelayout中的imagevIEw. recyclervIEw有三个包含子项的水平行.当滚动recyclelervIEw时,我正在使用http调用的响应更新数据集,并在http响应回调中调用notifydatasetChanged.如果recyclervIEw子项的高度和宽度是固定值(例如150dp,84dp),则recyclervIEw的行为与预期相同,即加载新项并保持在相同的滚动位置,但如果我将recyclervIEw的子项的高度和宽度设置为match_parent, wrap_content,recyclervIEw完全刷新并滚动到第一个位置.为什么会这样?
注意:我在SO上检查了其他类似的问题,但没有一个提供可行的解决方案.
main_layout
<androID.support.v7.Widget.RecyclerVIEw androID:ID="@+ID/grID_recycler_vIEw" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:layout_marginBottom="110dp" androID:layout_marginleft="15dp" androID:layout_margintop="80dp" androID:background="@color/transparent" androID:outlineProvIDer="bounds" androID:elevation="8dp" androID:padding="0dp" androID:scrollbars="none" />....recycler_vIEw_child_item
<relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:layout_wIDth="match_parent"androID:layout_height="match_parent"androID:orIEntation="vertical"androID:padding="0dp"><ImageVIEw androID:ID="@+ID/thumbnail" androID:layout_wIDth="wrap_content" androID:layout_height="match_parent" androID:adjustVIEwBounds="true" androID:maxWIDth="126dp" androID:maxHeight="225dp" androID:padding="0dp"/></relativeLayout>解决方法:
我遇到了同样的问题,无法在SO上找到解决方案.问题是由于没有为RecyclerVIEw设置LayoutManager引起的.我知道你说你有一个linearlayoutmanager.但请确保按以下方式设置它. (在我的例子中,我使用的是HorizontalGrIDVIEw,但同样的原则适用于RecyclerVIEw).
horizontalGrIDVIEw = (HorizontalGrIDVIEw) findVIEwByID(R.ID.grIDVIEw);GrIDElementAdapter adapter = newGrIDElementAdapter(VenueProfileActivity.this, mDeals);horizontalGrIDVIEw.setAdapter(adapter);HorizontalGrIDVIEw.LayoutManager layoutManager = new linearlayoutmanager(VenueProfileActivity.this, linearlayoutmanager.HORIZONTAL, false);horizontalGrIDVIEw.setLayoutManager(layoutManager);horizontalGrIDVIEw.setHasFixedSize(true); 总结 以上是内存溢出为你收集整理的android – 在调用notifydatasetchanged后,Recyclerview滚动到顶部全部内容,希望文章能够帮你解决android – 在调用notifydatasetchanged后,Recyclerview滚动到顶部所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)