android:descendantFocusability属性在ListView中的妙用

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

      之前项目中有个需求,webview作为recyclerview的一个item,用以实现加载H5新闻,原生实现评论的功能,当主体功能实现完毕的时候,突然出现一个意外:当滑动到文章底部的评论区域进行评论点赞,调用adapter.notifyDataSetChanged后,页面自动滚动到顶部,百思不得其解。最后经过分析,可能是webView 获取到了焦点,通过对根布局设置

android:descendantFocusability="blocksDescendants">

bug解决。

     

 

“android:descendantFocusability”的详细解释如下图所示:

descendantFocusability

大意是:

  该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。

  属性的值有三种:

  • beforeDescendants:viewgroup会优先其子类控件而获取到焦点

  • afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

  • blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点。

转载于:https://my.oschina.net/u/3729392/blog/1584206

你可能感兴趣的:(移动开发,python)