Android:从Xoom上的Gmail活动返回时,软键盘保持可见状态

时间:2012-02-01 02:41:48

标签: android android-ui

正如标题所说。我试过平常,

    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(root.getWindowToken(), 0);
OnResume()

,但它不起作用,大概是因为键盘是从Gmail窗口打开的,而不是我的应用程序窗口。

如果这很重要,单步执行代码会显示imm.mActive == false。我尝试将此代码放在OnPostResume()中,但仍无效果。

我尝试使用InputMethodManager.HIDE_NOT_ALWAYS代替0,但也没有效果。

内置图库应用没有此问题,因此我认为可以采用解决方案。

2 个答案:

答案 0 :(得分:0)

我认为您需要获取应用程序上下文才能隐藏键盘。像这样:

View v = (Your Base Layout) findViewById(R.id....);
InputMethodManager imm = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);

如果这不起作用,您也可以尝试:

this.getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE);

希望这有助于:)

答案 1 :(得分:0)

我的解决方案是在导航到Gmail活动之前,确保我的EditText不再具有焦点:

contactSearchView.clearFocus()