如何从 EditText 中仅获取可见文本

2024-03-29

我有一个用于在 Android 上运行的代码编辑器的 EditText。我正在对内容应用语法突出显示,除了 EditText 滚动到屏幕之外的大字符串之外,它运行良好 - 每次按键时语法突出显示都会应用于整个 Spannable 。

有谁知道我如何只捕获用户可见的文本?

我只能想到基于光标位置的令人讨厌的黑客攻击,但当用户滚动时这会中断。


可以使用下面的函数来获取可见文本偏移量。您输入编辑文本的原始 x,y 角,它将返回最近的文本偏移量(即字符位置)。

    EditText et = ;
    et.getOffsetForPosition(x, y);

一旦您知道可见文本的开始/结束,您就可以相应地设置跨度。如果您只是改变颜色(即不是高度/宽度),那么不应该有任何循环依赖。

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

如何从 EditText 中仅获取可见文本 的相关文章

  • C# 与 JAVA 接口实例

    我不知道该如何回答我的问题 它是关于Android可以实例化接口的 我正在尝试用 C 来做 现在我非常确定 Java 和 C 的规则是不能创建抽象和接口的实例 但我很想知道Android是如何做到这一点的 在 Android 中你可以这样做
  • Fused Location Provider 是不错的选择吗?

    我正在开发一个应用程序 我想在其中使用融合位置提供程序 但我有一些疑问 还有几个问题 当 GPS 关闭并且我将优先级设置为 HIGH 时 是否意味着 GPS 会自动打开 我可以根据需要将 UpdateLocation 设置为具有高优先级的
  • Mediaplayer 播放几次后停止播放

    我有一个按钮 按下它会播放一个随机声音剪辑 然后播放另一个声音剪辑 然后通过一个媒体播放器播放另一个声音剪辑 但是多次按下该按钮 15 20 次 后 所有音频都会停止 我在播放最后一个音频剪辑后释放媒体播放器 所以我不认为这是原因 有什么指
  • 如何在android中使用retrofit访问404错误?

    我正在使用改造 2 访问 REST API 以使用原始正文插入 JSON 数据 我从服务器获得成功响应 但在响应时收到 404 错误 我想访问404错误请帮我解决这个问题 ApiUtil getServiceClass sendFinalC
  • WebView 与 Chrome 自定义选项卡

    我正在构建一个应用程序 在详细活动中我必须显示一个网页 我本来打算使用 WebView 但后来我看到了 Chrome Custom Tab 你们认为最好实施什么 为什么 如果您只想显示某个页面 那么我建议您使用 chrome 自定义选项卡
  • 如何将音频 Mediastore 持续时间转换为分钟和秒?

    我正在使用音频播放器教程androidhive info https www androidhive info 2012 03 android building audio player tutorial 在 SongsManager ja
  • Android 闹钟应用程序在 Oreo 下因 NullPointerException 导致 SystemUI 崩溃(仅限)

    我有一个 Android 闹钟应用程序 我有通常的 警报意图 gt 接收器 gt 活动链 其最后一步创建一个全屏窗口并发出警报 所有这些在 Oreo API 26 之前的 Android 版本上都可以正常工作 但在 Oreo 上 当警报触发
  • 如何解决 FireBase 数据库 Key 中的禁止字符或解决方法

    我有这个 FireBase 数据库结构 我真的很想拥有像这个例子这样的密钥 US name United States PATH TO STREETS US California Orange County Orange 3138 E Ma
  • MediaStyle 通知未响应 RemoteControl 事件。

    我们正在将正在进行的播放通知迁移到 Lollipop 中引入的 MediaStyle 通知 RemoteControlClient 似乎已被弃用 并且 MediaStyle 通知不处理媒体按钮事件 例如通过耳机远程暂停 播放 有人得到这个工
  • 将可渲染节点(相同的旋转、位置和比例)替换为 Sceneform sdk 中的另一个可渲染节点

    我是 Android 版 sceneform sdk 的新手 我已经添加了一个Transformable Node 然后我应用了一些旋转 缩放并改变了它的位置 现在 单击按钮后 我需要放置具有相同旋转 缩放和位置的第二个节点 为此我所做的是
  • 当 Android 上的脸部靠近屏幕时,以编程方式关闭屏幕

    我的应用程序是一个拨号器 当用户将手机靠近头部时 我需要关闭屏幕并防止单击控件 就像本机 Android 拨号器行为一样 我需要什么 API 级别以及如何以正确的方式做到这一点 我通过反汇编一个非常著名的 VoIP 应用程序找到了解决方案
  • Android 生命周期哪个事件在生命周期中只触发一次?

    我读过一些博客并访问了一些网站 我想知道哪个事件在生命周期中只触发了一次 阅读博客后我意识到onCreate 方法在生命周期内仅触发一次 我不知道我是对还是错 现在我的问题是 我想触发任何仅在我更改横向或纵向方向时触发一次的事件 而不是在启
  • 直接在应用程序中评价 Google Play 应用程序 [重复]

    这个问题在这里已经有答案了 我需要在我的 Android 应用程序中设置费率选项 我找到了这个link http www androidsnippets com prompt engaged users to rate your app i
  • Gradle创建多项目Jar

    因此 从 Gradle 和 Android Studio 诞生之初起 我就一直在使用它们 然而 我发现自己用头撞墙的次数有时远远超过了它的价值 我花了一天半的时间试图解决我目前的困境 在我工作的地方 我们使用很多共享库项目 这意味着与 Gr
  • 如何修补更新 Android Studio (0.80 -> 0.81)?

    我安装了 Android Studio Beta v0 8 0 并下载了 v0 8 1 因为 IDE 不会自动下载 v0 80 并使用新版本修补 Android Studio 的预览系列自动做到了这一点 从他们的网页 http tools
  • 是否可以在本机代码中读取/编辑共享首选项?

    我有一个 Android 应用程序 其中包含一个使用 NDK 执行一些代码的 C 库 在 C 库中 我想更新应用程序共享首选项 我的问题 是否可以在本机代码中读取 编辑共享首选项 您可以在本机代码中做任何您想做的事情 这只是很麻烦 您需要
  • 如何使用 javascript 迭代文件系统目录和文件?

    我正在使用 Javascript 编写一个应用程序 该应用程序将与 Phonegap 一起使用来制作 Android 应用程序 我正在使用 Phonegap File API 来读取目录和文件 相关代码如下所示 document addEv
  • 数字时钟不改变时间

    我正在开发一个数字时钟小部件 我写了代码 但它没有更新时间 我没有使用任何服务并在模拟器中运行 我的代码如下 public class ExampleAppWidgetProvider extends AppWidgetProvider D
  • 加载 highchart 时 Android 错误膨胀类

    我正在尝试加载highcharts via Dialog 下面是我的代码 Gradle implementation com highsoft highcharts highcharts 9 0 1 XML
  • 在应用程序的所有活动中重用操作栏

    我创建了一个 MenuActivity 它有一个操作栏和一个拆分操作栏 我想将此操作栏和 splitactionbar 视图用于我的应用程序中的所有活动 我是 android 的新手 所以有人可以逐步指导我 另外 我试图将搜索图标放在操作栏

随机推荐

  • 不同固件之间的协方差会导致代码中断吗?

    我在 NDC 2010 上看过 Jon Skeet 的演讲 他提到了一些有趣的事情 public Class Base public void Foo IEnumerable
  • 基于父子类的视图中的分层菜单

    我有一个视图模型 public class Page public int Id get set public Page Parent get set public string Name get set public string Tit
  • ASPNET 5 MVC 6 中的远程验证

    在 aspnet 5 中找不到 JsonRequestBehavior 我正在尝试实现远程验证演示 但 Microsoft AspNet Mvc 似乎不包含 JsonRequestBehavior 枚举 但在以前版本的 MVC 中 它确实存
  • 从 CLR 存储过程中访问 Sql FILESTREAM

    我正在尝试从 CLR 存储过程访问 Sql 文件流 我已经设置了一个非常简单的数据库 其中包含一个包含文件流列的表 我可以使用简单的控制台应用程序成功地从文件流中读取数据 以下是失败的过程的一些示例代码 SqlProcedure publi
  • 单击鼠标更改 Knockout.js 中的 css 类

    Knockout js 文档显示了这样的 css 绑定 div Profit Information div 我需要对其进行调整以更改鼠标单击时的 css 类 我怎样才能做到这一点 根据下面的答案 我正在使用这样的代码 CSS class
  • Java内存不足错误(本机内存),达到进程大小限制(32位linux)

    我正在测试 Web 应用程序的性能 并收到 内存不足错误 本机内存 我测试了好几次 每次都是 无法为 Chunk new 分配 83886088 字节 并死掉 我每分钟打印一次内存大小 发现进程死亡前VmSize为2924700 kB 我认
  • 在Python中读取.dss数据库文件

    我有一个 DSS 数据库文件 我想使用 Python 从该文件中提取数据库架构 我实际上需要对此数据库执行查询 但我找不到任何好的文档来开始 所以 我决定如果我可以提取模式 我可以创建一个 SQLite 数据库并在那里运行我的实验 文件内容
  • Web API 2 返回 OK 响应但继续在后台处理

    我已经为 shopify 创建了一个 mvc web api 2 webhook public class ShopifyController ApiController PUT api Afilliate SaveOrder Respon
  • 单击外部时防止日期选择器关闭[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 jquery datepicker 我想在单击日历对话框外部时阻止关闭功能 url http jqueryui com dat
  • 禁用下拉菜单中的选项 Unity

    I need to disable 1 or 2 dropdown option from a dropdown menu in Unity The dropdown menu should not be repopulated There
  • R、正确使用粘贴功能

    该循环正确创建了 13 个名为 bond1 bond13 的 df 并为它们分配了 function1 中的值 现在我需要使用 function2 和另外两个 df 创建另外 13 个名为 spread1 spread13 的 DF 其中之
  • 如何使用 PHP 检测访问我们网站的用户的 MAC 地址?

    我知道如何追踪 IP 地址 但我需要追踪查看我的页面的用户的 MAC 地址 如何做到这一点 除非用户与网络服务器位于同一 LAN 上 否则无法执行此操作 MAC 地址位于 TCP IP 下面的以太网层 并且不包含在从用户本地网络路由出去的
  • 为什么 SQL Server 2008 在长事务 INSERT 上阻止 SELECT?

    我们正在尝试建立一个只定期插入新记录的事务表 这个简单的表需要我们随着时间的推移不断向其中添加新记录 该表中的事务量预计会相当高 并且可能会定期批量导入事务 gt 1000 这可能需要几秒钟才能完成 然后 我们根据这些数据执行一组选择语句
  • 你能在 vim 中做交互式宏或录音吗?

    我想定义一个 vim 宏 在特定时间中断用户输入 这可能吗 编辑 原来是我的录音 q 而不是宏 可以在录音中使用输入命令 但麻烦大于其价值 我首先将插入输入转义映射到一个键 map
  • Visual Studio Code:如何同时打开调试窗口和资源管理器窗口?

    我是视觉代码新手 我有一个小问题 您有两个用红线圈出的按钮 第一个按钮打开资源管理器窗口 第二个圆圈按钮打开调试窗口 我想打开这两个窗口 你知道该怎么做吗 从 VSCode 1 13 开始这是不可能的 已跟踪显示多个面板的功能请求here
  • 使用TDD在Java中开发文件遍历代码

    我必须实现一些代码来遍历目录结构并返回找到的文件列表 要求非常简单 给定一个基本目录 查找其中的所有文件 不是目录本身 如果找到目录 请重复步骤 1 我想使用 TDD 开发代码 当我开始编写测试时 我意识到我在嘲笑班级File 这样我就可以
  • PHP 致命错误:内存不足(已分配 80740352)(试图分配 12352 字节)

    当用户在我的网站上上传图像时 我收到此错误 错误消息是 PHP 致命错误 home 内存不足 已分配 80740352 试图分配 12352 字节 如何使用 php ini 修复此问题 这是我当前的上传 php ini 设置 upload
  • 对 .toolbarBackground SwiftUI 使用渐变

    我正在尝试为导航 toolbarBackground 设置自定义渐变 但任何时候我都只使用 LinearGradient 中的第一种颜色运行它 toolbar ToolbarItem placement navigationBarTrail
  • 在 React Native 地图中设置最大和最小缩放级别

    如何在 React Native 地图中设置最小和最大缩放级别
  • 如何从 EditText 中仅获取可见文本

    我有一个用于在 Android 上运行的代码编辑器的 EditText 我正在对内容应用语法突出显示 除了 EditText 滚动到屏幕之外的大字符串之外 它运行良好 每次按键时语法突出显示都会应用于整个 Spannable 有谁知道我如何