puedo - Texto de Linkify de Android-Texto distribuible en vista de texto único-Como tweet de Twitter
https mobile twitter com home (4)
Tengo un textView y texto como
"Este es el texto simple con clave y el enlace para navegar"
En el texto anterior quiero hacer ..
Al hacer clic en el enlace, se abre la URL y se abre una nueva actividad en mi aplicación.
También, hay un evento de clic para todo TextView incluso.
Por favor ayúdame a encontrar una solución. Gracias, MKJParekh
Genere su TextView de la siguiente manera:
TextView t3 = (TextView) findViewById(R.id.text3);
t3.setText(Html.fromHtml("This is the Simple Text with
<a href=/'http://www.google.com/'>Keyword</a> and the
<a href=''startActivityFromLink://some_info''>Link</a> to browse"));
t3.setMovementMethod(LinkMovementMethod.getInstance());
Especifique su actividad de la siguiente manera:
<activity android:name=".TestActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<data android:scheme="startActivityFromLink" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Creo que debería funcionar. Podría requerir algunos ajustes. No tuve tiempo de probarlo. Déjame saber si funciona.
Hacer palabra clave y el enlace en diferentes TextViews.
A continuación, configure TextView.onClickListener () después de hacer esto.
Esta es la forma más fácil, y más lógica.
He usado lo mismo que respondí aquí en esta pregunta
Para eso he usado este LinkEnabledTextView y eso me resulta fácil para hacer la tarea.
Lo que puede hacer es crear un ClickableSpan
personalizado como se muestra a continuación,
class MyCustomSpannable extends ClickableSpan
{
String Url;
public MyCustomSpannable(String Url) {
this.Url = Url;
}
@Override
public void updateDrawState(TextPaint ds) {
// Customize your Text Look if required
ds.setColor(Color.YELLOW);
ds.setFakeBoldText(true);
ds.setStrikeThruText(true);
ds.setTypeface(Typeface.SERIF);
ds.setUnderlineText(true);
ds.setShadowLayer(10, 1, 1, Color.WHITE);
ds.setTextSize(15);
}
@Override
public void onClick(View widget) {
}
public String getUrl() {
return Url;
}
}
Y el uso es onClick()
para abrir una actividad o URL. Estoy agregando una demostración para cargar una URL en WebView
.
String text = "http://www.google.co.in/";
SpannableStringBuilder stringBuilder = new SpannableStringBuilder(text);
MyCustomSpannable customSpannable = new MyCustomSpannable(
"http://www.google.co.in/"){
@Override
public void onClick(View widget) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(customSpannable.getUrl()));
startActivity(intent);
}
};
stringBuilder.setSpan(customSpannable, 0, text.length(),
Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText( stringBuilder, BufferType.SPANNABLE );
textView.setMovementMethod(LinkMovementMethod.getInstance());