open - Android Hacer hipervínculos en la vista de texto en la que se puede hacer clic
open url textview android (3)
Intenta hacerlo así:
TextView articleDescription = (TextView)findViewById(R.id.articledescription);
articleDescription.setMovementMethod(LinkMovementMethod.getInstance());
articleDescription.setText(Html.fromHtml(articleInfo.getArticle_body()));
Recibo algo de HTML del servidor y se muestra en Textview. El HTML tiene algunos hipervínculos. Quiero que cuando el usuario haga clic en algún hipervínculo, abra la URL de ese vínculo en el navegador del dispositivo, pero no está funcionando. He leído sobre Linkify y el uso de lo siguiente:
TextView articleDescription = (TextView)findViewById(R.id.articledescription);
articleDescription.setText(Html.fromHtml(articleInfo.getArticle_body()));
Linkify.addLinks(articleDescription, Linkify.WEB_URLS);
pero tampoco está funcionando. Alguna idea...???
Lo siento muchachos, en realidad recientemente me he dado cuenta de que los hipervínculos son relativos al servidor, así que creo que esa es la razón por la cual no se dispara el intento de navegador. Tengo muestra de texto HTML:
<p><span style="font-family: Helvetica,sans-serif;"><span style="font-size: small;">Since I began reporting for It’s Relevant in June, I have come across some amazing people living and working in Stamford. Over the past 6 months, I have had the opportunity to share their stories and report on issues affecting the city. Here are some of my favorite pieces from 2011:</span></span></p> <p><br /><a href="/content/7298/Bakers_Keep_Up_With_The_Kardashians_?ref=qmf10j"><span style="color: #000080;"><span style="font-family: Helvetica,sans-serif;"><span style="font-size: small;">Bakers Keep up with the Kardashians</span></span></span></a></p> <p><span style="font-family: Helvetica,sans-serif;"><span style="font-size: small;">This story combines two of my favorite things, the Kardashian sister’s and cake! Deb and Dina are so talented and it was great to see them at work. </span></span></p> <p><br /><a href="www.itsrelevant.com/content/7508/Yankees_GM_Set_To_Jump_Off_Building?ref=qmf10j"><span style="color: #000080;"><span style="font-family: Helvetica,sans-serif;"><span style="font-size: small;">Yankees GM Set to Jump Off Building</span></span></span></a></p> <p><span style="font-family: Helvetica,sans-serif;"><span style="font-size: small;">Never in my life did I think I would interview the General Manager of the Yankees, let alone on the rooftop of a 22-story building!</span></span></p> <p><a href="/content/6782/Fashion_Show_Features_Cancer_Survivors?ref=0yk17d"><br /><span style="color: #000080;"><span style="font-family: Helvetica,sans-serif;"><span style="font-size: small;">Breast Cancer Fashion Show</span></span></span><span style="color: #000000;"><span style="font-family: Helvetica,sans-serif;"><span style="font-size: small;"> </span></span></span></a></p> <p><span style="font-family: Helvetica,sans-serif;"><span style="font-size: small;">These women are truly amazing! So many people are affected by cancer and the Paint the Town Pink committee spent October bringing awareness to the disease. </span></span></p> <p><br /><a href="/content/5275/Downed_Trees_Remain_Problem?ref=qmf10j"><span style="color: #0000ff;"><span style="font-family: Helvetica,sans-serif;"><span style="font-size: small;">Downed Trees Remain Problem </span></span></span></a></p>
Ahora, ¿hay alguna sugerencia sobre qué tipo de datos? O algún tipo de expresión regular para que pueda reemplazar las rutas relativas a la ruta absoluta de los servidores?
Mira esto. Puede ser útil ...
TextView tv=new TextView(this);
tv.setLayoutParams(lparams);
webview =new WebView(this);
webview.setLayoutParams(lparams);
tv.setText(Html.fromHtml("<a href=''http://www.google.com''>www.google.com</a>"));
tv.setClickable(true);
tv.setMovementMethod(LinkMovementMethod.getInstance());
URLSpan[] urlSpans = tv.getUrls();
for ( URLSpan urlSpan : urlSpans )
{
webview.loadUrl( urlSpan.getURL() );
}
y mira este enlace. http://www.indelible.org/ink/android-linkify/
Qué tal esto,
TextView t2 = (TextView) findViewById(R.id.*example*);
t2.setMovementMethod(LinkMovementMethod.getInstance());