Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2645974
  • 博文数量: 416
  • 博客积分: 10220
  • 博客等级: 上将
  • 技术积分: 4193
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-15 09:47
文章分类

全部博文(416)

文章存档

2022年(1)

2021年(1)

2020年(1)

2019年(5)

2018年(7)

2017年(6)

2016年(7)

2015年(11)

2014年(1)

2012年(5)

2011年(7)

2010年(35)

2009年(64)

2008年(48)

2007年(177)

2006年(40)

我的朋友

分类: Java

2012-04-19 15:57:59

在做查询时,改观EditText弹出软键盘后,焦点没有落在EditText上,此时输入什么都不能回显在EditText中。
以下解决方法:
Timer myTimer = new Timer();
        myTimer.schedule(new TimerTask() {
            @Override
            public void run() {
             showSoftKeyboard(DictActivity.this, mEtSearch);
Message msg = updateBarHandler.obtainMessage();
     msg.what = 1;
     updateBarHandler.sendMessageDelayed(msg, 500);
            }
        },200);

public void showSoftKeyboard(Activity activity, View v)
{
InputMethodManager imm=(InputMethodManager)activity.getSystemService(Context.INPUT_METHOD_SERVICE); 
//imm.hideSoftInputFromWindow(v.getWindowToken(), 0);

imm.showSoftInput(v, 0);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

Handler updateBarHandler = new Handler(){
        @Override  
        public void handleMessage(Message msg) {
       if (msg.what == 1){
    mEtSearch.requestFocus();
    }
        }
    };

//////////////////////////////////////////////
  定时器启动软键盘后,给handle延时发一个消息,由handle来处理EditText焦点问题,原因可能是键盘或其它元素占用了此窗口的焦点,因此需要延时处理EditText焦点
阅读(3411) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~