Android: View换切后,无法正常设置焦点或切换后TextView的虚拟键盘不弹出

1. 在同一个Activity中的不同View(layout)中切换界面时,经常发生TextView无法正常取得焦点。

或者更严重的情况是,有了焦点,但点击后,虚拟键盘不弹出,根本就无法正常输入数据。

我昨天晚上为了解决这个焦点和虚拟键盘不弹出的问题,花了三个小时。

最终的解决方法:

当由view1 切换到 view2 时:

setContentView(view2);  
  View v = getCurrentFocus();
  if(v!=null)
  {
   v.clearFocus(); //清空原来的焦点
  }    
  tNumber.requestFocus(); //取的焦点

我在网上看到有人说,当你执行到 setContentView()后,界面并没有马上绘制出来,当界面还没有完成绘制完成,就马上执行到了requestFocus(),所以无法正常取得焦点。

 

最根本的原因是什么,我还真的说不清楚


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值