Preciso habilitar a ação de clique para links no Textview e abrir a página da web na janela do aplicativo. O Linkify será aberto no navegador. Mas eu quero abrir em um webview no meu aplicativo. Por favor me ajude.
Respostas:
1 para resposta № 1Há um postagem no blog que fala sobre como estender ClickableSpan.
Primeiro estendendo a classe ClickableSpan:
static class InternalURLSpan extends ClickableSpan {
OnClickListener mListener;
public InternalURLSpan(OnClickListener listener) {
mListener = listener;
}
@Override
public void onClick(View widget) {
mListener.onClick(widget);
}
}
O blog fala sobre o link clicável fazendo algo em sua atividade. Você pode adaptar facilmente essa abordagem para abrir a URL em um WebView.
Seria essencialmente algo assim:
SpannableString ss = new SpannableString("....")
ss.setSpan(new InternalURLSpan(new OnClickListener() {
public void onClick(View v) {
// Your code to open the link in a WebView here.
}
}), x, y, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
Você apenas definiria o objeto SpannableString como o texto de seu TextView:
textView.setText(ss);
0 para resposta № 2
Você pode sublinhar textview por meio do arquivo string.xml
<string name="hello_world"><u>Hello world!<u></string>
Agora você pode definir onClickListener em seu textView e pode redirecionar o usuário para sua atividade webView em vez do aplicativo do navegador.