1

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

例如

句子 TextView --- 我喜欢 stackoverflow

点击“爱”----->举杯“爱”这个词

我只是想出了创建许多 TextViews 的想法,并为每个 TextViews 设置侦听器......这不是很好......你有任何想法如何实现这个吗?

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

4

2 回答 2

3

在 TextView/EditText 中点击一个单词

见上面的问题。我认为它可以解决你的问题。您不需要为每个单词设置一个文本视图。对整个句子有一个文本视图。然后抓住这个词点击。我认为这是 wat 上面解释的。

请让我知道这是否有帮助。

于 2012-09-02T11:37:16.170 回答
0

为每个单词设置 ClickableSpan 的另一种解决方案(正如@LakshmiNarayanan 的答案中建议的那样)是OnTouchListenerTextView. 然后在onTouch方法中你可以像这样得到被触摸的字符的偏移量:

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

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

于 2015-05-13T02:12:46.173 回答