webentwicklung-frage-antwort-db.com.de

Ich möchte die Textansicht als anklickbaren Link

<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 hebt die Links in der TextView hervor, reagiert jedoch nicht auf Klicks. Kann mir jemand sagen, wie kann ich das als anklickbares tun und zu einem anderen Link wechseln? Ich versuchte es mehrmals mit Beispielen. aber ich kann nicht Kann mir jemand klar erklären, wie man die Textansicht als anklickbaren Link ändert.

16
Rameshbabu

Alle getestet und funktionieren 100% 
unten ist ein vollständiges Beispiel 
Lösung: Android: autoLink = "web" 
Beispiel-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" />

Zeichenfolge in 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>
52
Shanewaj

Sie können ClickViewer zu TextView hinzufügen und die Websuche starten:

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);  
    }

});

und xml sieht so aus:

<TextView  
    Android:layout_width="fill_parent"  
    Android:layout_height="wrap_content"  
    Android:text="@string/link_string"  
    Android:textSize="14dp"  
    Android:autoLink="web" /> 
10
Mathew1990

In die String-Datei diesen Code einfügen 

<string name="link">'<a href="http://www.www.com" >ForGet Password</a>'</string> 

und in der XML-Datei 

Android:text="@string/link"
6
Developer

dies ist die BEARBEITETE Antwort

Hallo, Sie können es versuchen, indem Sie dies in Ihrer layout.xml-Datei ersetzen

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

Ich habe es ausprobiert und es wird sicherlich funktionieren. und behandelt "www.google.com" als Weblink

3
dinesh sharma

Geben Sie in Ihre onCreate()-Methode folgenden Code ein:

TextView clickableTextLink = (TextView)findViewById(R.id.your_textview_id); clickableTextLink.setMovementMethod(LinkMovementMethod.getInstance());

Ich habe eine Reihe von Lösungen ausprobiert. Aber das hat für mich perfekt funktioniert.

dies ist der einfachste und verständlichste Code

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());

Schauen Sie sich diese Post !

GLÜCKLICHES KODIEREN!

2
dondondon

Hier wird eine einfache Implementierung bis Android N getestet

    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));
    }
1
user2837615

Fügen Sie Ihrem TextView einfach ein onClick-Tag hinzu, das der definierten Funktion entspricht. Genau wie unten

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