Come dare autolink per una parte del testo? Ad esempio: il mio testo all'interno di TextView è "Per favore clicca qui per aprire questa pagina web". Voglio mostrare il link solo per il testo "qui". E dovrei aprire la pagina web onclick del testo "qui" ma non ovunque con TextView. Mi aiuti per favore.Autolink all'interno di un TextView in Android
risposta
inserire una stringa in string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="txtCredits">Support: <a href="http://www.stackoverflow.com">click here</a></string>
</resources>
E lo si può utilizzare in textView in questo modo:
<TextView
android:layout_width="fill_parent"
android:id="@+id/text"
android:layout_height="wrap_content"
android:autoLink="web"
android:gravity="center"
android:linksClickable="true"
android:text="@string/txtCredits" />
EDIT
Per qualche motivo sopra il codice non funziona correttamente. Quindi, aggiungere il codice di seguito anche,
TextView t2 = (TextView) findViewById(R.id.text);
t2.setMovementMethod(LinkMovementMethod.getInstance());
Le visualizzazioni di testo sono in grado di visualizzare HTML, che risolve il problema. Avvolgere ciò che si desidera cliccabile in un collegamento ipertestuale:
String html = "My link is <a href=\"http://google.com\">here</a>";
myTextView.setText(Html.fromHtml(html));
Devo anche impostare onClickListener per TextView in questo caso? –
No, non lo fai. –
Questo è il peggior approccio possibile che ho visto, mi dispiace. In che modo questa stringa appare come una risorsa, in XML? 'Linkify',' ClickableSpan', 'android: autoLink'. Scegli il tuo preferito, ma non usare HTML come questo. – Madbreaks
sintassi HTML Usa in strings.xml:
<string name="test">Click <a href="http://vtuhtan.info">here</a></string>
proprietà Set TextView di avere collegamenti cliccabili e auto collegamento.
TextView tv = findViewById(R.id.textView);
tv.setText(Html.fromHtml(getResources().getString(R.string.test)));
utilizzo semplice URL in strings.xml:
<string name="autolink_val">Plese Click Here : http://www.google.com</string>
E nel codice Java scrivere questo:
<TextView android:id="@+id/linkVal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="web"
android:text="@string/autolink_val1"/>`
'android: autoLink =" web "' non consente un collegamento che dice ["qui"] (http://www.example.com/); semplicemente consente all'URL stesso di funzionare come un collegamento, come in: [http://www.example.com/](http://www.example.com/). – dokkaebi
È possibile verificare con il seguente codice:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="http://www.yahoo.com"
android:autoLink="web"
/>
Questa dovrebbe essere la risposta accettata – Madbreaks
Dai miei test questo non rende effettivamente cliccabile il collegamento ipertestuale. Lo disegna correttamente (lo rende blu con una sottolineatura) ma non puoi realmente cliccarlo. Sembra che l'unico modo sia qui: http://stackoverflow.com/a/2746708/708906 –
Ho provato anche questa risposta. Non funziona davvero. –