我将文本文件保存在资产文件夹内&我可以在我的活动中的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是一个如何突出显示的例子。
接受您之前询问过的问题的正确答案。这样就可以动员他们发布他们的回复 –