2011-06-24 47 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是一個如何突出顯示的例子。