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

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

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

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

最终的解决方法:

当由view1 切换到 view2 时:

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

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

 

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


你可能感兴趣的:(android,layout,null)