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

边学、边测试,花了三天时间完工一个小应用。

遇到很多问题,但最终还是解决了。

我的手机是Android2.2版,所以我也在是2.2版环境下学习,开发。

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

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

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

最终的解决方法:

当由view1 切换到 view2 时:

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

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

 

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

 

2011-11-24

posted @ 2015-06-17 14:01  personnel  阅读(417)  评论(0编辑  收藏  举报
友情链接:图片批量处理工具 gif动态图制作工具 制作电子相册 图片排版工具 制作淘宝主图视频 MKScript 鼠标键盘自动化脚本语言