我有一个句子(TextView),我想点击某个单词,我想在Toast中显示这个单词,例如我想将OnClickLister设置为能够抓取一个单词,而不是整个句子
例如
句子TextView ---我喜欢stackoverflow
点击“爱”----->敬酒“爱”这个词
我只想出创建许多TextViews的想法,并为每一个设置列表器......它不是很好...... 您对如何实现这个有什么想法吗?
也许有一些我不知道的文字处理库?
答案 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或您自己的实现来返回被触摸的单词。