views:

1436

answers:

5

Hi,

I am developing an application in which there will be a search screen where user can search for specific keywords and that keyword should be highlighted. I have found Html.fromHtml method.

But I will like to know whether its the proper way of doing it or not.

Please let me know your views on this.

Regards Sunil

+1  A: 

This can be achieved using a Spannable String. You will need to import the following

import android.text.SpannableString; 
import android.text.style.BackgroundColorSpan; 
import android.text.style.StyleSpan;

And then you can change the background of the text using something like the following:

TextView text = (TextView) findViewById(R.id.text_login);
text.setText("");
text.append("Add all your funky text in here");
Spannable sText = (Spannable) text.getText();
sText.setSpan(new BackgroundColorSpan(Color.RED), 1, 4, 0);

Where this will highlight the charecters at pos 1 - 4 with a red color. Hope this helps!

stealthcopter
Thanks a lot for replying.
sunil
+1  A: 

Alternative solution: Using a WebView instead. Html is easy to work with.

WebView webview = new WebView(this);

String summary = "<html><body>Sorry, <span style=\"background: red;\">Madonna</span> gave no results</body></html>";

webview.loadData(summary, "text/html", "utf-8");
PHP_Jedi
Thanks a lot for replying and letting me know the use of Webview and HTML.
sunil
+1  A: 

Or far simpler than dealing with Spannables manually, since you didn't say that you want the background highlighted, just the text:

String styledText = "This is <font color='red'>simple</font>.";
textView.setText(Html.fromHtml(styledText), TextView.BufferType.SPANNABLE);
Christopher
A: 

Is there any body worked with android spannable class. If it is the case please help me. How to get the bold text into un bold ,means after appling the bold property with sannable, how to remove after selecting the bold text and clicking on the button.Please help me

Regards, Bhavani.G

vani
A: 

Hi all, If any body succeed in removing the property after applying with spannable,please help me.And how removesans() work?

Regards,

Bhavani.G

vani