【android】scrollview嵌套editText问题记录

使用场景

editText内容有多高显示多高,禁止滑动,由scrollView提供滑动功能,内部同时嵌套了禁止滑动的图片列表。

问题描述

在铺满一个屏幕的editText中,粘贴一段文本,然后点击软键盘的删除键,scrollView滚动到控件最上方,通过监听scrollView滚动,发现是发生了多段滚动,最后滚动到最上方。但是光标位置仍在粘贴文本末尾,再点击一次删除键,scrollView滚动到正确位置,恢复正常。

解决

起初选用了重写scrollView的computeScroll方法,直接空白,但是粘贴文本的滚动操作无法执行,这个方法太过于理想化。后面认为是scrollView和editText的焦点问题,然后重写了scrollView的fling和getFocusables方法,在发生滚动前,焦点清除,fling方法执行后返回super方法,也无效。

临时方案

在监听文本变化的函数afterTextChanged中,代码手动执行一遍scrollView的smoothScrollto(0, scrollView.getScrollY()),测试反馈正常,但是应该不是最优解。

具体原因需要抽时间重新看一下。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值