2013-01-07 33 views
0

我正在使用android 2.2。 我想根據我的適配器包含的格式來設置多個單詞。 像在android上編輯文本格式的單詞textchange

final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1); 
     adapter.add("aaaa"); 
     adapter.add("abaa"); 
     adapter.add("acaa"); 
     adapter.add("adaa"); 
     adapter.add("aaba"); 
     adapter.add("aaca"); 
     adapter.add("aaba"); 
     adapter.add("aaae"); 

我有一個EditText上視圖中,我是我寫的文字,但如果對文本的變化,我發現它與我想強調的適配器值匹配任何單詞。

請參考下面的代碼文本更改,但沒有得到完美的輸出。

@Override 
      public void afterTextChanged(Editable s) { 
       CharSequence cs; 
       // TODO Auto-generated method stub 

       str = myAutoComplete.getText().toString(); 
      for(int i = 0; i < adapter.getCount(); i++) 
      { 
       String s2 = adapter.getItem(i).toString().toLowerCase();  

       if (str.contains(s2) == true) 
       { Log.e("s2",s2);      
        str = str.replaceAll(s2, "<font color='red'>"+s2+"</font>"); 
        Log.e("str",str); 
        myAutoComplete.setText(Html.fromHtml(str), TextView.BufferType.SPANNABLE); 
       } 

      } 
} 

enter image description here

回答

1

試試這個

 SpannableStringBuilder ssb = new SpannableStringBuilder(eT 
        .getText().toString()); 

      ForegroundColorSpan fcs = new ForegroundColorSpan(Color.GREEN); 

        // 5,10 specifies selected characters 
      ssb.setSpan(fcs, 5, 10, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); 

      eT.setText(ssb); 
+0

通過這種方式,我將設置整個的EditText文本格式,但我想希望僅編輯 – Smily

+0

你從搜索詞有任何其他的字拆開的話嗎? ? – moDev

+0

是再次檢查我的問題 – Smily

相關問題