以前项目中有个需求,webview做为recyclerview的一个item,用以实现加载H5新闻,原生实现评论的功能,当主体功能实现完毕的时候,忽然出现一个意外:当滑动到文章底部的评论区域进行评论点赞,调用adapter.notifyDataSetChanged后,页面自动滚动到顶部,百思不得其解。最后通过分析,多是webView 获取到了焦点,经过对根布局设置android
android:descendantFocusability="blocksDescendants">
bug解决。web
“android:descendantFocusability”的详细解释以下图所示:布局
descendantFocusabilitywebview
大意是:it
该属性是当一个为view获取焦点时,定义viewGroup和其子控件二者之间的关系。bug
属性的值有三种:im
beforeDescendants:viewgroup会优先其子类控件而获取到焦点项目
afterDescendants:viewgroup只有当其子类控件不须要获取焦点时才获取焦点recyclerview
blocksDescendants:viewgroup会覆盖子类控件而直接得到焦点。img