【问题标题】:Is there a way to detect the word tapped in an EditText有没有办法检测在 EditText 中点击的单词
【发布时间】:2012-10-15 17:25:20
【问题描述】:

有没有办法将字符映射到 EditText 中的像素位置?

我假设在任何像素位置的单词组件中都有一些知识,因为您可以选择一个单词进行复制和粘贴操作。

此外,大多数流行的浏览器和图书阅读器都具有某种查找功能,您可以在其中选择一个单词并在网络或字典中查找它。这些应用程序如何知道被点击或选择的单词?

除了重写 EditText 并捕获所有输入的文本,因为它们在 onDraw() 方法中呈现。

我相信一定有比这更好的策略!有什么想法吗?

【问题讨论】:

  • 您寻找像素级别的任何原因?如果你想在编辑文本中找出选中的文本,你可以使用一些方法。
  • 我想我只需要选定的文本。我尝试使用 ClickableSpan,但问题是我需要检测用户按下单词的时间量 - ClickableSpan 就像一个网络链接,它会立即响应,这对我的目的没有好处。但我没有看到检测所选单词的方法 - 你能告诉我吗?
  • 看看这个 SO 讨论是否有帮助 stackoverflow.com/questions/2163017/…
  • 是的,谢谢,这应该可以解决问题!

标签: android android-edittext textview


【解决方案1】:

试试这个:

   String selectedText = et.getText().substring(startSelection, endSelection);

这只是一个基本的 Java 字符串操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多