用户完成编辑后如何从 EditText 上移除焦点?

2024-03-14

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

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;
    }
  }
}

您可以使用 xml 属性,

android:cursorVisible 

或者您可以使用此方法在代码中执行此操作。

 setCursorVisible(boolean).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用户完成编辑后如何从 EditText 上移除焦点? 的相关文章

随机推荐

  • 如何正确检索表 ID

    根据数据库理论 数据库中的任何表都可以通过其完全限定名称来成功识别 catalog name schema name table name 在 SQL Server 中检索表 id 的方法是 SELECT object id table n
  • 默认移动构造函数与默认复制构造函数与默认赋值运算符

    为什么 C 编译器对自动生成的移动构造函数比对自动生成的复制构造函数或赋值运算符有更多限制 仅当用户未定义任何内容时 才会生成自动生成的移动构造函数 即 构造函数 复制 赋值 析构函数 仅当用户未分别定义复制构造函数或赋值运算符时 才会生成
  • 日期查询适用于 _id 但不适用于日期值 - MongoDB

    所以 我几个小时以来一直在尝试 但没有得到任何结果 我有一个 MongoDB 集合 它有一个日期值 scrape systemTime 我将其插入scrape systemTime new Date 我试图通过使用以下方法获得早一周的结果
  • 与逃亡者一起离开差异视图

    有了 vim 逃亡者 有没有一种简单的方法来 取消分割 Gedit 返回工作树中的当前对象 E g when in Gcommit Gstatus buffers you would press D to enter side by sid
  • 嵌入式使用的轻量级(解)压缩算法

    我有一个带有图形用户界面的低资源嵌入式系统 该界面需要字体数据 为了节省只读存储器 闪存 需要压缩字体数据 我正在寻找一种用于此目的的算法 要压缩的数据的属性 每个像素 8 位的矩形像素图的透明度数据 字体中通常有大约 200 300 个字
  • 我该如何解决这个警告? “遇到两个拥有相同钥匙的孩子`.$1/.$2`”

    我正在使用导入 react native form select picker 在我的反应本机应用程序中进行选择输入 并且代码工作正常 但它仍然给我一个警告 遇到两个具有相同密钥的孩子 1 2 那么我该如何解决这个问题有人可以帮忙吗 下面是
  • C 标准库函数名称中的“f”代表什么?

    什么是fC 标准库函数的名称代表什么 我注意到很多函数都有一个f以他们的名义 这对我来说真的没有意义 例如 fgets fopen printf scanf sqrtf等等 你的问题总体来说太笼统了 但我可以解释一些例子 fgets htt
  • 在不同列中显示列表项元素

    我正在尝试更改 DataLife Engine 模板的外观 我想知道您是否可以帮助我进行对齐 我有一列显示一些信息 如下所示 div class short description div class table ul class tabl
  • const 记录参数的 [Ref] 属性有用吗?

    对于最新的 Delphi 版本 Berlin 10 1 24 Ref 属性真的有必要吗 我问这个是因为在线文档 http docwiki embarcadero com RADStudio Berlin en Parameters Delp
  • 迭代 Doctrine 的变更集

    我正在尝试记录用户在我的网站上执行的特定操作 并让侦听器检查某些实体是否正在更新 如果是这样 我的目标是记录他们正在编辑的字段 但不是所有字段 有些字段并不重要 或太长 我在将更改集保存到数据库时遇到问题 这就是为什么我想过滤重要字段 这可
  • 当用户填写表单时运行 javascript

    我是 Google Apps 脚本新手 需要帮助 我正在努力实现以下目标 在 Google 表单中设置文本框失去焦点的触发器 此事件中的代码将是 获取文本框的值 设置文本框的值 不幸的是 目前 Google Apps 脚本和 Google
  • 不带斜体的 MathJax 字体

    我想用MathJax http www mathjax org使用常规字体 而不是斜体 我尝试加载不同的 STIX 字体 但使用 MathJax 渲染的符号始终转换为斜体 我查过STIX 字体常见问题解答页面 http www stixfo
  • 创建一个html5音频并播放它不起作用

    我想动态创建一个 html5 音频并播放它 代码如下 function playAnotherMusic playUrl var audioElement document createElement audio audioElement
  • 如果出现错误,请停止在 jquery 中提交表单

    这是我的代码 http jsfiddle net Xk38X 6 http jsfiddle net Xk38X 6 register click function if company f val length 0 company f c
  • 如何检测任何类型的用户交互?

    安全问题 我现在不知道这是如何发生的 但这个问题的读者会想到这个问题的解决方案是一种安全威胁 所以请记住 我感兴趣的所有数据都是测量用户进入 活动的时间 就这样 用户做了什么 我是NOT有兴趣 我需要的是非常简单的概念 但我找不到解决方案
  • 发送文件到 Mule 入站端点

    我正在尝试将包含文件和两个输入的表单发送到 Mule 入站端点 我有一个自定义处理器和一个定义如下的流程
  • 如何在ggplot中缩放独立层的颜色?

    我有一个数据集 记录了三座建筑物的能源使用情况 我有一个融化的数据框 可以从钻石组中模仿 data lt melt diamonds c depth table cut color id c cut color 本质上 我有来自三个不同建筑
  • Stripe 订阅取消和重新激活模型的最佳实践

    我正在开发一个应用程序 该应用程序有 Stripe 的每月订阅计划 我正在创建一个客户然后订阅供用户订阅 这对我来说效果很好 但我还没有弄清楚如何使用 Stripe 订阅创建取消流程 我使用了取消订阅按钮stripe subscriptio
  • 目标元素位于其他元素之前

    在我对此进行研究的过程中 我偶然发现这个线程 https stackoverflow com questions 10225364 select specific element before other element 但由于它已有 2
  • 用户完成编辑后如何从 EditText 上移除焦点?

    我的布局上有一个 EditText 用户输入一些文本并点击 完成 键后 我想从中删除闪烁的光标 我搜索了 StackOverflow 并找到了 3 个对我不起作用的答案 闪烁的光标仍然存在 private class MyOnKeyList