嗨,我正在尝试输入这段代码来隐藏android上的软键盘,但它返回了一个空指针。
代码:
public void testSetTestEnvironment (){
solo.clickInList(4);
solo.clickOnMenuItem(ConfigVariables.CATALOGSERVER);
assertTrue(solo.searchText(ConfigVariables.CATALOGSERVERURL));
//Enter KeyCode
solo.clickInList(5);
View myEditText = solo.getViews().get(0);
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
solo.enterText(solo.getEditText(0), "");
solo.enterText(0, ConfigVariables.KEYCODE);
assertTrue(popupClickButtonHandler("Enter KeyCode", "OK"));日志显示:
java.lang.NullPointerException
谢谢。
发布于 2013-02-27 23:11:08
也许有点太晚了,但我希望这对某些人有帮助。您的代码容易出现bug,因为它依赖于一个焦点视图来获取窗口令牌。
尝试使用:
InputMethodManager im = (InputMethodManager) this.getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);这段代码对我来说是正确的。
https://stackoverflow.com/questions/10942152
复制相似问题