TextView解析可单击的单词

时间:2012-09-02 11:31:19

标签: android textview onclicklistener

我有一个句子(TextView),我想点击某个单词,我想在Toast中显示这个单词,例如我想将OnClickLister设置为能够抓取一个单词,而不是整个句子

例如

句子TextView ---我喜欢stackoverflow

点击“爱”----->敬酒“爱”这个词

我只想出创建许多TextViews的想法,并为每一个设置列表器......它不是很好...... 您对如何实现这个有什么想法吗?

也许有一些我不知道的文字处理库?

2 个答案:

答案 0 :(得分:3)

select a word on a tap in TextView/EditText

看到上面的问题。我认为它可以解决你的问题。每个单词不需要一个textview。整个句子有一个textview。然后抓住点击的单词。我认为这是上面解释的。

如果有帮助,请告诉我。

答案 1 :(得分:0)

为每个单词设置ClickableSpan的替代解决方案(作为@ LakshmiNarayanan建议的答案中的参考)将在OnTouchListener上设置TextView。然后在onTouch方法中,您可以得到像这样触摸的字符的偏移量:

Layout layout = this.getLayout();
if (layout != null)
{
    int line = layout.getLineForVertical(motionEvent.getY()); 
    int offset = layout.getOffsetForHorizontal(line, motionEvent.getX());
} 

之后,您可以使用BreakIterator或您自己的实现来返回被触摸的单词。