web-dev-qa-db-fra.com

Lien automatique dans une TextView dans android

Comment donner un lien automatique pour une partie de la visualisation de texte? Par exemple: Mon texte dans TextView est "Veuillez cliquer ici pour ouvrir cette page Web". Je souhaite afficher le lien uniquement pour le texte "ici". Et je devrais ouvrir cette page Web en cliquant sur le texte "ici" mais pas sur n'importe où de TextView.

19
Rahul Baradia

Mettez une chaîne dans 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>

Et vous pouvez l'utiliser dans textView comme ceci:

<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" />

MODIFIER

Pour une raison quelconque, le code ci-dessus ne fonctionne pas correctement. Donc, ajoutez également le code ci-dessous,

TextView t2 = (TextView) findViewById(R.id.text);
t2.setMovementMethod(LinkMovementMethod.getInstance());
35
asish

Les vues de texte sont capables d'afficher du HTML, ce qui résout votre problème. Enveloppez ce que vous voulez cliquer sur un lien hypertexte:

String html = "My link is <a href=\"http://google.com\">here</a>";
myTextView.setText(Html.fromHtml(html));
8
Joakim Berglund

utilisez une URL simple dans strings.xml:

<string name="autolink_val">Please Click Here : http://www.google.com</string>

Et en Java code écrivez ceci:

<TextView Android:id="@+id/linkVal"   
          Android:layout_width="wrap_content" 
          Android:layout_height="wrap_content" 
          Android:autoLink="web" 
          Android:text="@string/autolink_val1"/>`
2
Agam Shah

Vous pouvez le tester avec le code suivant:

 <TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="http://www.yahoo.com"
    Android:autoLink="web"
    />
1
saleem kalro

Utilisez la syntaxe HTML dans strings.xml:

<string name="test">Click &lt;a href="http://vtuhtan.info"&gt;here&lt;/a&gt;</string>

Définissez les propriétés TextView pour avoir des liens cliquables et un lien automatique.

TextView tv = findViewById(R.id.textView);
tv.setText(Html.fromHtml(getResources().getString(R.string.test)));
1
vtuhtan