2011-06-24 3 views
1

アセットフォルダ内にテキストファイルを保存しました&アクティビティのTextViewにテキスト全体を表示することができます。しかし、今私は検索されたテキストを強調表示して私の活動の中で検索機能を追加する必要があります。誰もが任意のアイデアを提案するか、コードスニペット これを完了するために送信することができます。事前にアンドロイドのテキストファイルからテキストを検索

おかげ

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。あなたはちょうど私を大騒ぎさせてしまったのですが、あなたは私にとって大変だと思いますが、非常に高く評価! – BasicPleasureModel

+0

素敵なアイデアSunilさんが大変感謝しています –

0

は、私はあなたが一時的のTextViewに表示する前に、あなたのテキストのどこか(例えば、文字列、StringBuilderのを)保存を前提としています。したがって、検索文字列を取得して、一時的に保存されたテキストにそれが含まれているかどうかを調べることができます(たとえば、String.contains())、あなたのTextViewのテキストを強調表示できます。 Hereはハイライトする方法の例です。

関連する問題