2010-07-11 27 views
6

對於初學者,我是一名跳轉到Android/Java開發的C++/Qt Developer,所以請不要以爲我知道任何東西。 :)所以,我有一個包含在ScrollView中的TextView的應用程序。 TextView中包含的文本是來自我的Web服務器應用程序的Web查詢的結果。根據查詢,文本可能會很長。我想在用戶輸入一些文本字符串進行搜索的文本上實現搜索功能,如果找到文本字符串,ScrollView將滾動TextView以確保輸入的子字符串可見,並且我希望文本突出顯示。我想我知道如何突出顯示文本子字符串,我知道如何告訴ScrollView滾動到TextView中的特定行號,但對於我的生活,我無法弄清楚如何找出行號滾動到確保我的子字符串可見。也就是說,我想查詢文本視圖給我的子線首先發生的行號。最後,我還想實現一個下一個發現子字符串的下一個匹配項。有點像Firefox中的查找功能。任何援助非常感謝。提前致謝。將ScrollView中的TextView滾動到特定的文本子字符串

回答

8

您需要自己在文本中找到子字符串的位置,例如:與String.indexOf()。一旦知道該位置,可以使用Layout.getLineForOffset()函數在TextView中查找正確的行:

int offset=myString.indexOf("search string"); 
int line = myTextView.getLayout().getLineForOffset(offset); 
相關問題