I have a Textview
with location:
eg. \"Mountain View, CA\"
What I want to achieve is to create this text to act like a Link - color,underline, f
tv.setMovementMethod(LinkMovementMethod.getInstance());
if you are not getting click callback
Something like this should work.
TextView location = (TextView) findViewById(R.id.location);
location.setMovementMethod(LinkMovementMethod.getInstance());
Spannable spans = (Spannable) location.getText();
ClickableSpan clickSpan = new ClickableSpan() {
@Override
public void onClick(View widget)
{
//put whatever you like here, below is an example
AlertDialog.Builder builder = new Builder(MainActivity.this);
builder.setTitle("Location clicked");
AlertDialog dialog = builder.create();
dialog.show();
}
};
spans.setSpan(clickSpan, 0, spans.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
you can use Spannable
class with mTextView.scollTo()
to create internal link
there is a example in ApiDemos which can solve your problem. Check out com.example.android.apis.text.Link
class, it may help. Following is part of the code:
TextView t3 = (TextView) findViewById(R.id.text3);
t3.setText(
Html.fromHtml(
"<b>text3:</b> Text with a " +
"<a href=\"http://www.google.com\">link</a> " +
"created in the Java source code using HTML."));
t3.setMovementMethod(LinkMovementMethod.getInstance());