2012-01-08 81 views
8

有什么方法将字符映射到EditText中的像素位置?有没有办法检测在EditText中点击的字

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

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

除了重写EditText和捕获所有输入的文本,因为它们在onDraw()方法中呈现之外,我无法想到完成此操作的好策略。

我相信肯定有比这更好的策略!有任何想法吗?

+0

任何你为什么寻找像素级别的原因?如果您想在编辑文本中找到选定的文本,可以使用一些方法。 – kosa 2012-01-08 03:49:06

+0

我想我只需要选定的文本。我尝试使用ClickableSpan,但问题在于我需要检测用户按下该单词的时间量 - ClickableSpan就像一个Web链接,它立即响应,这对我的目的没有好处。但我没有看到检测选定单词的方法 - 请问您能提供建议吗? – 2012-01-08 06:35:53

+1

看看这个SO讨论可能会有所帮助http://stackoverflow.com/questions/2163017/android-get-selection-of-text-from-edittext – kosa 2012-01-08 06:38:44

回答

1

试试这个:

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

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

相关问题