当前位置:  开发笔记 > Android > 正文

NestedScrollView在Recyclerview调整大小时滚动到顶部

如何解决《NestedScrollView在Recyclerview调整大小时滚动到顶部》经验,为你挑选了2个好方法。

我有一个NestedScrollView包含一个LinearLayout和一个RecyclerView(都在RelativeLayout内).





    


        

            


            

                

                
            

        

        

        
        

    



将数据加载到RecyclerView后,我需要以编程方式更改它的高度,如下所示:

RelativeLayout.LayoutParams lay_params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
    50 + ((int) (baskets.length * getResources().getDimension(R.dimen.list_height_small))));

lay_params.addRule(RelativeLayout.BELOW, lay_total.getId());
recyclerView.setLayoutParams(lay_params);
recyclerView.setAdapter(new ListBasketAmountAdapter(baskets));

问题是当数据加载完NestedScrollView时,滚动会自动滚动到RecyclerView的顶部,将LinearLayout隐藏在它上面.有任何想法吗?

谢谢.



1> kevings14..:

几天后,我找到了问题的解决方案.你只需要descendantFocusability在第一个布局中添加ScrollView如下:



这个解决方案有效,但请记住,如果在子视图中有一个`EditText`,那么它将无法调焦.

2> Noman Rafiqu..:

kevings14给出的解决方案有效,但在我的情况下没有用.当我补充说,我有一RecyclerView两个EditText以下NestedScrollView

android:descendantFocusability="blocksDescendants"

在滚动视图下的主布局中.我无法集中注意力EditText.

然后我想出了这个对我有用的解决方案.


推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有