实施"在页面内搜索"在Android上

时间:2016-06-30 15:44:29

标签: android android-layout searchview spannable

在我的应用程序中,我希望能够允许用户搜索可滚动的TextView的内容,其中包含相当多的内容(实质上是一篇文章)。非常类似于"搜索页面"用户可以在网络浏览器上输入搜索字词,每次点击搜索时,都会跳转到该字词的下一个匹配项。

该实现的第一个元素,即文章中突出显示的搜索词,很容易 - 只需设置一个带有查找术语的背景的跨度。我挣扎的是当用户按下"搜索"时如何滚动到每个匹配项。我到处寻找,但似乎找不到其他人试过这个(但我很高兴被证明是错的!)所以我会很感激任何指导。

所以,总结一下:给定一个搜索词,我想滚动到该术语的TextView中的每个匹配。

1 个答案:

答案 0 :(得分:0)

是的,我设法找到了一种更好的方法。而不是使用TextView,使用EditText禁用编辑。您将知道匹配的索引,因此:

myEditText.setSelection(startIndex, startIndex + searchTermLength);

如果不可见,这会自动将您向下滚动到搜索字词。