微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 将ScrollView中的TextView滚动到文本的特定子字符串

对于初学者来说,我是一名C / Qt开发人员,正在进入 Android / Java开发阶段,所以请不要认为我知道任何事情. :)所以,我有一个包含在ScrollView中的TextView的应用程序. TextView中包含的文本是来自我的Web服务器应用程序的Web查询的结果.根据查询,文本可能很长.我想在用户输入要搜索的文本字符串的文本上实现搜索功能,如果找到文本字符串,ScrollView将滚动TextView以确保输入的子字符串可见,并且我希望文本突出显示.我想我知道如何突出显示文本子字符串,我知道如何告诉ScrollView滚动到TextView中的特定行号,但对于我的生活,我无法弄清楚如何找出哪个行号到滚动到以确保我的子字符串可见.即,我想查询文本视图,以便为我提供子字符串首次出现的行号.最后,我还希望实现一个一个查找到下一个子串的情况.有点像Firefox中的Find功能.非常感谢任何帮助.提前致谢.

解决方法

您需要自己在文本中找到子字符串的位置,例如使用 String.indexOf().一旦知道了该位置,就可以使用 Layout.getLineForOffset()函数在TextView中查找正确的行:
int offset=myString.indexOf("search string");
int line = myTextView.getLayout().getLineForOffset(offset);

原文地址:https://www.jb51.cc/java/239790.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐