2011-06-24 45 views
1

我将文本文件保存在资产文件夹内&我可以在我的活动中的TextView中显示整个文本。但现在我需要在我的活动中添加搜索功能,突出搜索文本。任何人都可以提出任何想法或发送代码片段 来完成此任务。从Android中的文本文件搜索文本

由于提前

的Krishnakumar P

+0

接受您之前询问过的问题的正确答案。这样就可以动员他们发布他们的回复 –

回答

3

使用以下代码突出显示文本。

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){ 

      } 

    } 
+1

尼斯优雅的解决方案,谢谢Sunil。有一个小的错字,认为它应该是这样的:字符串withHighLightedText = actualdata.replaceAll(searchString,“”+ searchString +“”);你刚刚救了我很多搞砸,非常感谢! – BasicPleasureModel

+0

好主意Sunil非常感谢 –

0

我假设你暂时在TextView中显示它在什么地方保存文本(例如字符串,StringBuilder的)。因此,您可以抓住搜索字符串并查看您的临时保存的文本是否包含该文本(例如,String.contains()),在正面情况下,您可以突出显示TextView的文本。 Here是一个如何突出显示的例子。