2012-05-29 12 views

Odpowiedz

21

Say et jest twój obiekt EditText i tv jest obiektem TextView. Należy użyć następującego kodu:


public class MotivationalQuotesActivity extends Activity { 
    /** Called when the activity is first created. */ 

Button next; 
EditText et; 
TextView tv; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    et = (EditText) findViewById(R.id.et); 
    tv = (TextView) findViewById(R.id.tv); 
    tv.setText("The name of our country is Bangladesh. Bangladesh is a land of rivers."); 

    next = (Button) findViewById(R.id.button1); 
    next.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       tv.setText("The name of our country is Bangladesh. Bangladesh is a land of rivers."); 
       String ett =et.getText().toString(); 
       String tvt =tv.getText().toString(); 

       int ofe = tvt.indexOf(ett,0); 
       Spannable WordtoSpan = new SpannableString(tv.getText()); 

     for(int ofs=0;ofs<tvt.length() && ofe!=-1;ofs=ofe+1) 
     {  


       ofe = tvt.indexOf(ett,ofs); 
        if(ofe == -1) 
         break; 
        else 
         {      

         WordtoSpan.setSpan(new BackgroundColorSpan(0xFFFFFF00), ofe, ofe+ett.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
         tv.setText(WordtoSpan, TextView.BufferType.SPANNABLE); 
         } 


     } 


      } 
     }); 

    } 

} 

Wynikiem jest:

enter image description here

+0

bardzo dziękuję, naprawdę mi pomóc w moim projekcie .. – Mordiggian

+0

mam 1 pytanie, jak usunąć lub przywrócić podświetlenie w słowie? – Mordiggian

+1

Jeśli chcesz usunąć zaznaczenie, możesz użyć dwóch podejść: ** Najpierw: ** Ustaw nieprzetworzony tekst na tekst podobny do 'tv.setText (" Nazwa naszego kraju to Bangladesz, Bangladesz to kraina rzek. ");' ** Po drugie: ** Użyj powyższej metody podświetlania, ale użyj koloru tła (powiedz ** czarny ** w tym przypadku) jako koloru podświetlania, np .: 'WordtoSpan.setSpan (new BackgroundColorSpan (color) .black), ofe, ofe + ett.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); ' –

0

Jeden łatwy i szybki sposób na podkreślenie tekstu, to używaj sznurka zastąpić metodę. Zastąpić ciąg pragnienie z tagiem czcionki

Spanned strHTML= Html.fromHtml("<center>"+full_string.replaceAll(strSrch,"<font color='yellow'>"+strSrch+"</font>")+"</center><br/>"); 
TextView tv=(TextView) v.findViewById(R.id.txtPager); 
tv.setText(strHTML,TextView.BufferType.SPANNABLE); 
Powiązane problemy