<TextView
Android:id="@+id/link"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentBottom="true"
Android:layout_centerHorizontal="true"
Android:text="Forget password?"
Android:autoLink="all"
Android:linksClickable="true"
Android:textColor="@color/lgreen"
Android:textStyle="italic"
/>
Android met en surbrillance les liens dans TextView, mais ils ne répondent pas aux clics. Quelqu'un peut-il me dire comment puis-je faire cela en tant que clic et passer à un autre lien . J'ai essayé plusieurs fois en voyant des exemples. mais je ne peux pas. Quelqu'un peut-il m'expliquer clairement comment modifier l'affichage du texte sous forme de lien cliquable.
Tous testés et fonctionnant à 100%
ci-dessous est un exemple complet
Solution: Android: autoLink = "web"
Échantillon XML
<TextView
Android:id="@+id/txtLostpassword"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:autoLink="email"
Android:gravity="center"
Android:padding="20px"
Android:text="@string/lostpassword"
Android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
Android:id="@+id/txtLostpassword"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:autoLink="web"
Android:gravity="center"
Android:padding="20px"
Android:text="@string/defaultpassword"
Android:textAppearance="?android:attr/textAppearanceSmall" />
Chaîne dans string.xml
<string name="lostpassword">If you lost your password please contact <a href="mailto:[email protected]?Subject=Lost%20Password" target="_top">[email protected]</a></string>
<string name="defaultpassword">User Guide <a href="http://www.cleverfinger.com.au/user-guide/">http://www.cleverfinger.com.au/user-guide/</a></string>
Vous pouvez ajouter un écouteur de clic à TextView et lancer Websearch:
textView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view)
{
Intent browser= new Intent(Intent.ACTION_VIEW, Uri.parse(PASTE_YOUR_URL_HERE));
startActivity(browser);
}
});
et xml ressemble à:
<TextView
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:text="@string/link_string"
Android:textSize="14dp"
Android:autoLink="web" />
Dans le fichier de chaîne mettez ce code
<string name="link">'<a href="http://www.www.com" >ForGet Password</a>'</string>
et dans le fichier XML
Android:text="@string/link"
c'est la réponse édité
Bonjour, vous pouvez essayer en remplaçant ceci dans votre fichier layout.xml
<TextView
Android:id="@+id/textView1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_centerHorizontal="true"
Android:layout_centerVertical="true"
Android:text="visit the site at www.google.com from here"
Android:autoLink="all"
Android:clickable="true"
Android:linksClickable="true"
Android:textAppearance="?android:attr/textAppearanceLarge" />
Je l'ai essayé et ça va sûrement marcher. et traite "www.google.com" en tant que lien Web
Dans votre méthode onCreate()
mettez ce code:
TextView clickableTextLink = (TextView)findViewById(R.id.your_textview_id); clickableTextLink.setMovementMethod(LinkMovementMethod.getInstance());
J'ai essayé plusieurs solutions. Mais cela a parfaitement fonctionné pour moi.
c'est le code le plus facile et le plus compréhensible
TextView link = (TextView) findViewById(R.id.hyper);
String linkText = "This is my website <a href='http://programondaspot.blogspot.com'>Programondaspot</a> .";
link.setText(Html.fromHtml(linkText));
link.setMovementMethod(LinkMovementMethod.getInstance());
Découvrez ce post !
CODAGE HEUREUX!
Voici une implémentation simple testée jusqu'à Android N
String termsText = "By registering, you are agree to our";
String termsLink = " <a href=https://www.yourdomain.com/terms-conditions.html >Terms of Service</a>";
String privacyLink = " and our <a href=https://www.yourdomain.com/privacy-policy.html >Privacy Policy</a>";
String allText = termsText + termsLink + privacyLink;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
((TextView) findViewById(R.id.text_terms_conditions)).setMovementMethod(LinkMovementMethod.getInstance());
((TextView) findViewById(R.id.text_terms_conditions)).setText(Html.fromHtml(allText, Html.FROM_HTML_MODE_LEGACY));
} else {
((TextView) findViewById(R.id.text_terms_conditions)).setMovementMethod(LinkMovementMethod.getInstance());
((TextView) findViewById(R.id.text_terms_conditions)).setText(Html.fromHtml(allText));
}
Ajoutez simplement une balise onClick à votre TextView, ce qui correspond à la fonction définie. Comme ci-dessous
<TextView
Android:id="@+id/link"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentBottom="true"
Android:layout_centerHorizontal="true"
Android:text="Forget password?"
Android:autoLink="all"
Android:linksClickable="true"
Android:textColor="@color/lgreen"
Android:textStyle="italic"
Android:onClick="callFunction"/>