内容如题:
界面排版上出现了类似ListVew列表的这种控件,得到数据后刷新界面抢占了焦点,导致屏幕自动向下滑动。
解决办法:
1、设置抢占焦点的子控件 android:focusable="false";
2、设置父布局 android:descendantFocusability="blocksDescendants"。
这里我们解释一下descendantFocusability 属性一共有三种值
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
通常推荐选择第三个属性,即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”的属性就好了