在我的应用程序中,我希望能够允许用户搜索可滚动的TextView的内容,其中包含相当多的内容(实质上是一篇文章)。非常类似于"搜索页面"用户可以在网络浏览器上输入搜索字词,每次点击搜索时,都会跳转到该字词的下一个匹配项。
该实现的第一个元素,即文章中突出显示的搜索词,很容易 - 只需设置一个带有查找术语的背景的跨度。我挣扎的是当用户按下"搜索"时如何滚动到每个匹配项。我到处寻找,但似乎找不到其他人试过这个(但我很高兴被证明是错的!)所以我会很感激任何指导。
所以,总结一下:给定一个搜索词,我想滚动到该术语的TextView中的每个匹配。
答案 0 :(得分:0)
是的,我设法找到了一种更好的方法。而不是使用TextView,使用EditText禁用编辑。您将知道匹配的索引,因此:
myEditText.setSelection(startIndex, startIndex + searchTermLength);
如果不可见,这会自动将您向下滚动到搜索字词。