在 EditText 中拦截空格键时出现问题

2024-01-03

我正在尝试为用户提供一种从 EditText 将文本输入到 TextView 的方法。但是,如果用户输入某些内容并想要修复它,我希望他们能够在空的 EditText 上按空格以获取他们写回的最后内容。第一个问题是,如果他们输入“hello”,按 Enter 键将其添加到 TextView(这会将其从 EditText 中清除),然后按空格键,EditText 就会显示“hello”。这不是我想要的,我也不明白为什么。

我的代码将输入的文本放入保持字符串中:

b1 = ti.getText().toString();

然后,如果用户按下空格键,我相信他们应该在 EditText 中得到 b1 。相反,我得到:" " + b1。为什么里面要增加这个空间?

if((event.getAction()==KeyEvent.ACTION_DOWN)&&(key == KeyEvent.KEYCODE_SPACE)){

    if(ti.getText().toString().equals("")){
    ti.setText(b1);
}

我的第二个更大的问题是上面的代码只能在硬件键盘上运行。软件键盘按下空格的按键事件是什么?

这一切都在 onKeyListener 中。


解决额外空间问题的一个简单方法是在将字符串放入 EditText 之前删除字符串中的空格

b1 = b1.substring(1); //<--- cut out the first character, which is the " " in your case.
ti.setText(b1);

附注我强烈推荐更具描述性的变量名称。如果您使用 ti 和 b1 这样的名称,您的程序可能会难以运行。也许这些选择在您的程序上下文中更有意义。但从您在这里显示的内容来看,很难判断这些名称指的是什么。

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

在 EditText 中拦截空格键时出现问题 的相关文章

  • 致命异常:Google 地图 V2 中的 GLThread、StackOverflowError

    我正在实施 Google 地图 V2 并利用从外部 GPX 文件接收的交付路线 设备路径 设备当前位置和交付点位置 问题是它大多数时候都有效 我收到的错误 当它不起作用时 是下一个 03 16 20 48 37 811 I dalvikvm
  • 在解决依赖关系之前运行 gradle 任务

    我想运行一个 gradle 任务 在 gradle 尝试解决依赖关系之前获取其他源并设置它们 在 build gradle 中有一个任务 用于获取子项目的源代码 该任务需要在 Gradle 尝试解决依赖关系之前运行 因为子项目是依赖关系的一
  • 检测正在插入的设备

    我希望能够检测设备是否已插入 我希望能够像查询连接状态一样进行查询 这可能吗 或者我是否需要创建一个监听电池事件的广播接收器 显然是ACTION BATTERY CHANGED http developer android com refe
  • Android - 启用和禁用蓝牙 - SDK 3 (OS 1.5) - 以编程方式?

    我编写了代码来以编程方式启用和禁用各种功能 例如 Wifi 振铃模式 飞行模式 您将在电源切换小部件中看到的所有内容 我还没有找到如何做的一个是蓝牙 看来在 SDK level 3 OS 1 5 中没有漂亮的蓝牙管理器类 有没有人指出关于启
  • XAMARIN - 添加来自 youtube 的视频

    我搜索如何从 youtube 添加视频的信息 例如 我想从一些 YouTube 链接添加视频 我认为它应该在网络视图中 但我需要一些详细信息 因为我找不到有关我的问题的任何信息 您可以使用 webview 播放 youtube 视频 str
  • 垂直翻转 Android Canvas

    有没有一种简单的方法可以在 Android 中翻转画布 我似乎找不到任何可以让我垂直翻转它的东西 这样 y 轴上的零就是手机屏幕的底部而不是顶部 如果解决方案不是特别快也没关系 因为我没有对画布进行任何计算密集的操作 提前致谢 Try ca
  • Android 应用程序主活动出现 ClassNotFoundException

    大多数设备都可以运行我的应用程序 但我收到此错误报告 java lang RuntimeException Unable to instantiate activity ComponentInfo com company app com c
  • Android 和 iOS 中的应用程序文件大小差异

    通过使用两个应用程序分发服务 Android 市场和 Apple 应用程序商店 我发现了一个谜团 Apple 应用程序的文件大小通常大于 Android 应用程序 我似乎找不到任何对这些差异的解释 而且这似乎是一个未触及的主题 我尝试过分配
  • Android:让用户从图库中选择图像或视频

    是否可以以这样的方式启动图库 以便同时显示图片和视频 Thanks 从图库中选择音频文件 Use MediaStore Audio Media EXTERNAL CONTENT URI Intent intent new Intent In
  • Android 上 Java 库中的代码出现 NoClassDefFoundError

    我的用户经常遇到错误 应用程序在启动期间崩溃 当应该加载 MainActivity 时 VM 显然找不到该类 我不明白为什么 该应用程序的架构是 我的免费版和专业版都使用一个通用项目 不知道是否相关 请参阅下面的堆栈跟踪 有什么想法吗 ja
  • Firebase 云消息传递 - 如何验证令牌?

    我正在使用 Firebase Cloud Messaging FCM 并且每次在客户设备上生成新令牌时 都会根据下面的缩写代码 我将此新令牌发送到我的服务器数据库 云 并将其保存在其中 以便能够发送未来推送通知使用 CFM API 从服务器
  • 按钮上方带有文本的单选按钮

    我是 Android 新手 我需要在我的活动中添加单选按钮 但我需要将文本放在项目符号按钮的顶部 请提供任何帮助 我发现了以下内容 尽管我不明白 drawable in 选择器和 style Tab 样式是什么 顶部带有文本的单选按钮 ht
  • 带有内容提供商的小部件;无法使用ReadPermission?

    所以我刚刚为我的应用程序实现了一个小部件 它通过我的数据库从数据库获取数据ContentProvider 我在清单中定义了自己的读 写权限 声明我使用它们 似乎没有什么区别 并在内容提供程序中要求它们
  • 如何修复运行 Android 模拟器时出现 GPU Driver Issue 错误

    我的 Android 模拟器几周前运行良好 但现在出现错误 当我运行代码时 GPU 驱动程序问题错误对话框与模拟器一起弹出 当我单击 确定 时 Android 模拟器不会按预期运行应用程序 错误如下 Your GPU driver info
  • 如何从Android webview下载文件?

    我下面的代码可以很好地加载 url 页面 并且在搜索歌曲后 当我单击下载链接时 它崩溃了 关于如何让下载管理器与网络视图一起工作的教程并不多 我究竟做错了什么 import java io File import android app A
  • 可下载字体例外

    我决定使用可下载字体 https developer android com guide topics ui look and feel downloadable fonts html在我的项目中 IS 按照指南中的建议实施了所有内容 当我
  • Android 报告“Error=Unable to find Instrumentation info for: ComponentInfo {}”

    stackoverflow 上有很多关于这个问题的主题 问题 例如错误 无法找到以下仪器信息 ComponentInfo https stackoverflow com q 21294945 513413 和其他网站 但使我的问题与其他网站
  • 如何在不下载子项的情况下从 Firebase 获取子项密钥?

    我有一个 Firebase 数据库 其中的节点 items 有很多子项 我想导入子项键的列表 由于每个子项都包含相当多我对此不感兴趣的数据 因此我想仅下载子项密钥 以最大程度地减少传输的数据量 为了便于说明 假设我有以下数据结构 然后我想获
  • Android 中用于过渡的自定义动画对象?

    我想用一些更奇特的东西来覆盖 Android 中的默认活动转换 我想做的事情不能用通常使用的 XML 集来完成 所以我不能使用overridePendingTransition因为它只接受对基于 XML 的动画资源的整数引用 我想做的是创建
  • 带有包含布局的导航抽屉布局

    我认为我的问题实际上很简单 但我不知道如何解决 有一个工作导航抽屉 代码如下

随机推荐

  • Meteor js 和多人游戏

    我开始学习 Meteor 我意识到它可能是简单多人游戏的良好解决方案 因为它的反应性 客户端 minimongo 数据库 客户端之间的实时交换是否足够快以交换玩家坐标 或者这是一个糟糕的解决方案 我应该在没有中间数据库的情况下完成它 只需直
  • MySQL 存储函数的正确 if 子句语法是什么?

    我是 MySQL 的新手 所以如果其中一些内容相对初级 我深表歉意 我正在尝试编写一个存储函数来将数字四舍五入到一定数量的有效数字 我有一个理论上应该可以工作的函数 我咨询了另一个有用的 StackOverflow 来确定逻辑 SQL 中四
  • 什么情况下使用八进制?

    我经常看到二进制和十六进制使用 但从未见过八进制 然而 八进制在某些语言中使用时有其自己的约定 即 前导 0 表示八进制基数 什么时候使用八进制 当人们使用八进制或八进制更容易推理时 有哪些典型情况 或者这只是一个品味问题 当一个字中的位数
  • 多对多关系中的删除不对称?

    我有两个模型 产品和类别 以及一个用于多对多关系的连接表 类别 假设我有两个对象 产品和类别 它们是上述对象的实例 products Product new category Category new product categories
  • 校验和与“git svn clone”不匹配后如何恢复?

    作为我们迁移计划的一部分 我正在将 SVN 存储库克隆到 git 我一路上遇到了各种障碍 迫使我继续克隆git svn fetch命令 最近的失败我不知道如何解决 git svn fetch Checksum mismatch dc tru
  • UIScrollView不滚动

    我有一个 UIScrollView 根本不滚动 如果我启用弹跳 我可以滚动到足够远的距离以查看视图之外的内容 但当我释放时它会立即回到原点 我已打开寻呼 但如果将其关闭 则会出现相同的行为 我已关闭自动布局 在 IB 中 scrollVie
  • 在 JavaScript 中检查字符串是否包含数组的任何元素

    如何检查字符串是否包含数组的任何元素 如果元素有一些字符串 我想过滤一些数组 请看下面的代码 var arr banana monkey banana apple kiwi orange function checker value var
  • Angular / Electron 未启动

    我使用 Angular CLI 创建了 Angular 10 项目 接下来 我安装了 Electron 并完成了以下操作 将 src index html 基础更改为本地安装的 Electron 但是当运行我的代码时 它显示有一些错误 我该
  • Angular 动态 formControlName 使用 fromGroup 生成

    我创建了一个由 JSON 数组组成的表单 根据该表单 我生成 Validation formControlName 并通过 formGroup 生成输出 this ELEMENT DATA UPDATE first name abc las
  • 警告:发生 HTML 1300 导航?

    我已加载我的网站微软边缘版本 25 10586 0 0 和智能屏幕告诉我该网站可能是假的 此警告是该网站上的新警告 控制台日志显示 HTML1300 Navigation occured example com example com 是我
  • 如何调试在 Windows CE 6 的 .NET CF 3.5 WinForms 应用程序中调用 Application.Exit() 后发生的致命错误?

    我正在将 NET CF 1 0 WinForms 应用程序 适用于旧版本的 Windows CE 移植到 NET CF 3 5 适用于 Windows CE 6 问题是 在调用 Application Exit 几秒钟后 我会看到一个 致命
  • 如何在打字稿中使用 sinon 来存根 Express 中间件?

    我正在尝试使用 typescript mocha sinon 和 chai http 为我的 Express 路由器编写集成测试 该路由器使用我编写的自定义中间件 用于检查标头中的 JWT 理想情况下 我想存根我的authMiddlewar
  • Google Mirror API 抛出 BadStatusLine 异常 (Python)

    使用 Mirror API 时 我从多个 API 调用中随机获得 BadStatusLine 异常 包括timeline insert and timeline list 通过在Python中寻找类似的问题 我怀疑这是来自服务器的某种格式错
  • mysqli_fetch_assoc(在 PDO fetch_assoc 中)将数字存储为字符串

    像往常一样 我尽了职责到处寻找太阳 但一无所获 mysqli fetch assoc 显然 将我的数字存储为字符串 通常情况下 我不太关心 但我的网站几乎 100 ajax 并且它移动大量数据 因此所有这些 json 开始累加 如果我只是获
  • Linq:整数之和

    我正进入 状态 不能将 null 值分配给 System Int32 类型的成员 该类型是不可为 null 的值类型 当执行我的空语句的 Sum 时 ResultView 工作正常 但是 var r from v in DataContex
  • 在 Pandas DataFrame 子集(副本)上设置值很慢

    import timeit import pandas as pd import numpy as np df pd DataFrame np random rand 10 10 dft df True False 5 df dft dft
  • 如何将字典转储到具有正确列对齐的 .xlsx 文件中?

    我有一本包含 2000 个项目的字典 如下所示 d 10071353 0 0 06030011 6 0 06030016 2 10 鉴于我想将其写入 xlsx文件 我使用这段代码 取自here https stackoverflow com
  • 如何在 Visual Basic 中删除文本文件的第一行和最后一行

    我看过有关从文本文件中删除指定为函数参数的行的帖子 但我只需要从文件中删除第一行和最后一行 在处理文件方面我仍然是新手 但删除第一行似乎应该很简单 只需删除从 BOF 到第一个 CrLf 字符的所有文本即可 我对吗 至于最后一行 我知道我必
  • asp.NET LinkBut​​ton 在 Google Chrome 中不起作用

    我有一个包含多个链接按钮的页面 但所有这些按钮都无法在 Google Chrome 中工作 它们在 IE 和 Firefox 中运行良好 Chrome Inspector 可以找到链接按钮 并且它附加了一个用于回发调用的 javascrip
  • 在 EditText 中拦截空格键时出现问题

    我正在尝试为用户提供一种从 EditText 将文本输入到 TextView 的方法 但是 如果用户输入某些内容并想要修复它 我希望他们能够在空的 EditText 上按空格以获取他们写回的最后内容 第一个问题是 如果他们输入 hello