小编KDO*_*SHI的帖子

在中心选择水平Scrollview的RecyclerView上不工作Notifydatasetchange?

自动滚动存在问题,并且使用代码很难移动到某个特定位置.

我使用水平滚动和中心选择使两个recyclerView相互依赖.

所以我的问题是使用Notifydatasetchanged的方法并将recyclelerView postion重置为0并且它的滚动选择范围因为它返回了错误的索引...

当我想在更改数据后获得中心选择索引.我正在使用下面的示例通过一些编辑实现此目的.

滚动时获取RecycleView的中心可见项

我需要将第一个recyclelerView适配器滚动的数据更改为第二个使用数据更改的recyclerView适配器.

但是scrollview将位置设置在第一个位置我尝试了notifyItemRangeChanged(int,int)notifyItemRangeInserted(int,int)方法......

详细说明:我正在更改类型并重置Look scrollview的值.我需要更改底部scrollview的选定位置.特别是我不能通过改变数据来获得中心位置.意味着如果我通知适配器而不是索引将保持不变.重置数据后,我需要像普通适配器一样工作.

提前致谢.

   public void getRecyclerview_Type() {

    final RecyclerView recyclerView_Type = (RecyclerView) findViewById(R.id.recycleView);
    if (recyclerView_Type != null) {
        recyclerView_Type.postDelayed(new Runnable() {
            @Override
            public void run() {
                setTypeValue();
            }
        }, 300);
        recyclerView_Type.postDelayed(new Runnable() {
            @Override
            public void run() {
                // recyclerView_Type.smoothScrollToPosition(Type_Adapter.getItemCount() - 1);
                setTypeValue();
            }
        }, 5000);
    }
    ViewTreeObserver treeObserver = recyclerView_Type.getViewTreeObserver();
    treeObserver.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {

        @Override
        public boolean onPreDraw() {
            recyclerView_Type.getViewTreeObserver().removeOnPreDrawListener(this);
            finalWidthDate = recyclerView_Type.getMeasuredWidth();
            itemWidthDate = getResources().getDimension(R.dimen.item_dob_width_padding);
            paddingDate = (finalWidthDate - itemWidthDate) / …
Run Code Online (Sandbox Code Playgroud)

android horizontalscrollview android-layout material-design android-recyclerview

9
推荐指数
1
解决办法
988
查看次数