|
 
- UID
- 7593
- 帖子
- 271
- 精华
- 0
- 积分
- 1230
- e望
- 14 点
- e币
- 226 元
- e脉
- 14 条
- 在线时间
- 661 小时
|
上次解决了使用一个按钮弹出软键盘的方法,但是还是没有达到最终效果,界面加载完成自动弹出软键盘,昨天琢磨了半天,最终想到了解决办法。之所以再开一个新帖,是想让有需要的朋友,可以看到这个解决办法。
解决思路:就是设置一个定时器,让其在页面加载成功后,过一会再运行软键盘弹出事件。其它弹出软键盘代码和我之前做的button弹出软键盘代码一样,我上次只是简单的把代码放在onCreate的最后面,但是界面呈现的时候并没有弹出软键盘。昨天又想这个问题的时候,想到了会不会是界面绘制需要一些时间,如果把弹出软键盘的代码用线程单独跑,会不会就会成功呢?带着这个疑问,我就写了如下的代码,果然最后的效果和我的想法一致,成功出现了软键盘。
代码如下:
- Timer timer = new Timer();
- timer.schedule(new TimerTask(){
- @Override
- public void run() {
- InputMethodManager m = (InputMethodManager)
- edit.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
- m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
- Toast.makeText(Key.this, "show", Toast.LENGTH_SHORT).show();
- }
-
- }, 1000);
复制代码
以上是我的猜测想法,希望了解android界面绘制机制的朋友出来说几句 |
-
1
评分人数
-
|