我將文本文件保存在資產文件夾內&我可以在我的活動中的TextView中顯示整個文本。但現在我需要在我的活動中添加搜索功能,突出搜索文本。任何人都可以提出任何想法或發送代碼片段 來完成此任務。從Android中的文本文件搜索文本
由於提前
的Krishnakumar P
我將文本文件保存在資產文件夾內&我可以在我的活動中的TextView中顯示整個文本。但現在我需要在我的活動中添加搜索功能,突出搜索文本。任何人都可以提出任何想法或發送代碼片段 來完成此任務。從Android中的文本文件搜索文本
由於提前
的Krishnakumar P
使用以下代碼突出顯示文本。
void hightLightText(TextView textView, String searchString){
try{
//if mydata.txt file is present in assets directory
InputStream fin = getAssets().open("mydata.txt");
byte[] buffer = new byte[fin.available()];
fin.read(buffer);
String actualdata = new String(buffer);
String withHighLightedText = actualdata.replaceAll(searchString, "<font color='red'>"+actualdata)+"</font>";
String styledText = "This is <font color='red'>simple</font>.";
textView.setText(Html.fromHtml(withHighLightedText), TextView.BufferType.SPANNABLE);
}catch(Exception ex){
}
}
尼斯優雅的解決方案,謝謝Sunil。有一個小的錯字,認爲它應該是這樣的:字符串withHighLightedText = actualdata.replaceAll(searchString,「」+ searchString +「」);你剛剛救了我很多搞砸,非常感謝! – BasicPleasureModel
好主意Sunil非常感謝 –
我假設你暫時在TextView中顯示它在什麼地方保存文本(例如字符串,StringBuilder的)。因此,您可以抓住搜索字符串並查看您的臨時保存的文本是否包含該文本(例如,String.contains()
),在正面情況下,您可以突出顯示TextView的文本。 Here是一個如何突出顯示的例子。
接受您之前詢問過的問題的正確答案。這樣就可以動員他們發佈他們的回覆 –