区块链技术博客
www.b2bchain.cn

Android 解决editView调用requestFocus()方法无效求职学习资料

本文介绍了Android 解决editView调用requestFocus()方法无效求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

需求场景

登陆成功后可以点击退出返回登陆页面,需要清除账号密码并且重新调整光标位置

每次都需要登陆的APP,登陆成功后保存账号,在有保存账号的情况下,自动将光标设置给输入密码的位置

问题

项目A中,调用接口后在子线程中写了password.requestFocus();,没有什么问题.
在项目B中,使用本地登陆验证,代码如下:

        if (有账号缓存) {             username.setText("xxxxxxxx");             password.requestFocus();         }

结果并不生效,后来使用runOnUiThread()也不生效.

解决方法

增加了一个延迟方法:

runDelayed(new Runnable() {                                 public void run() {                     password.requestFocus();                 }             }, 20);

延迟20ms(用户无感的短延迟),设置生效了.
具体原理没深究,但是搜了一下网上大家都是这么解决的
有知道原理的朋友留言告知一下谢谢.

需求场景

登陆成功后可以点击退出返回登陆页面,需要清除账号密码并且重新调整光标位置

每次都需要登陆的APP,登陆成功后保存账号,在有保存账号的情况下,自动将光标设置给输入密码的位置

问题

项目A中,调用接口后在子线程中写了password.requestFocus();,没有什么问题.
在项目B中,使用本地登陆验证,代码如下:

        if (有账号缓存) {             username.setText("xxxxxxxx");             password.requestFocus();         }

结果并不生效,后来使用runOnUiThread()也不生效.

解决方法

增加了一个延迟方法:

runDelayed(new Runnable() {                                 public void run() {                     password.requestFocus();                 }             }, 20);

延迟20ms(用户无感的短延迟),设置生效了.
具体原理没深究,但是搜了一下网上大家都是这么解决的
有知道原理的朋友留言告知一下谢谢.

需求场景

登陆成功后可以点击退出返回登陆页面,需要清除账号密码并且重新调整光标位置

每次都需要登陆的APP,登陆成功后保存账号,在有保存账号的情况下,自动将光标设置给输入密码的位置

问题

项目A中,调用接口后在子线程中写了password.requestFocus();,没有什么问题.
在项目B中,使用本地登陆验证,代码如下:

        if (有账号缓存) {             username.setText("xxxxxxxx");             password.requestFocus();         }

结果并不生效,后来使用runOnUiThread()也不生效.

解决方法

增加了一个延迟方法:

runDelayed(new Runnable() {                                 public void run() {                     password.requestFocus();                 }             }, 20);

延迟20ms(用户无感的短延迟),设置生效了.
具体原理没深究,但是搜了一下网上大家都是这么解决的
有知道原理的朋友留言告知一下谢谢.

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » Android 解决editView调用requestFocus()方法无效求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们