首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当用户完成编辑时,如何从EditText中移除焦点?

当用户完成编辑时,如何从EditText中移除焦点?
EN

Stack Overflow用户
提问于 2012-01-07 10:16:56
回答 8查看 42.5K关注 0票数 29

我的布局上只有一个EditText。在用户输入一些文本并按下“完成”键后,我想从文本中移除闪烁的光标。我搜索了StackOverflow,发现有3个答案对我不起作用。闪烁的光标仍然存在。

代码语言:javascript
复制
private class MyOnKeyListener implements OnKeyListener {
  public boolean onKey(View v, int keyCode, KeyEvent event) {
    if (event.getAction() == KeyEvent.ACTION_DOWN
    && keyCode == KeyEvent.KEYCODE_ENTER) {
      // FAIL 0
      MyActivity.this.findViewById(R.id.someOtherView).requestFocus();

      // FAIL 1
      InputMethodManager imm = (InputMethodManager)getSystemService(
        Context.INPUT_METHOD_SERVICE
      );
      imm.hideSoftInputFromWindow(v.getWindowToken(), 0);

      // FAIL 2
      MyActivity.this.getWindow().setSoftInputMode(
        WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN
      );

      return true;
    } else {
      return false;
    }
  }
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8766781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档