2017-03-26 1 views
-1

J'ai fait une activité qui a du texte. J'ai fait un lien cliquable dans TextView mais et ça marche bien (lien visible avec soulignement).Comment j'ouvre un navigateur en cliquant sur un lien de texte dans TextView

Mais quand je clique sur le lien, il est dit Unfortunately app has stopped responding Voici mon code.

Le code TextView:

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/home" 
    android:text="@string/google" /> 

Le code Java (en protected void onCreate(Bundle savedInstanceState)):

TextView txt= (TextView) findViewById(R.id.home); //txt is object of TextView 
    txt.setMovementMethod(LinkMovementMethod.getInstance()); 

Le code string.xml:

<string name="google"> 
    <a href="www.google.com">Home page</a> 
</string> 

C'est ce que mes spectacles app,

App screenshot

Maintenant, si je clique Page d'accueil lien le message d'erreur disant Unfortunately app has stopped not responding appears Que dois-je faire?

Aidez-nous!

+0

s'il vous plaît ajouter Crashlog – USKMobility

+0

Voir ceci: http://stackoverflow.com/questions/2734270/how-do-i-make-links-in-a-textview-clickable – rafsanahmad007

Répondre

7

Ajoutez juste la ligne suivante dans votre xml textview.

android:autoLink="web" 
+1

Mon java le code n'a pas onClickListener() vous devriez donner ce code aussi. S'il vous plaît donnez une réponse complète à partir de maintenant si vous répondez à n'importe quelle question. Quoi qu'il en soit, merci pour l'aide. –

1
text_view.setOnClickListener(new OnClickListener(){ 

    String url = textView.getText().toString(); 
    Intent i = new Intent(Intent.ACTION_VIEW); 
    i.setData(Uri.parse(url)); 
    startActivity(i); 

}); 
+0

Cela n'a pas fonctionné –

+0

J'ai trouvé la clé manquante Merci –

1

Vérifiez celui-ci, il travaille pour moi que j'ai vérifier le résultat à la fois pour textview et le bouton, vous pouvez l'utiliser et à la place du texte que vous pouvez remplacer le lien

  <Button 
       android:layout_width="fill_parent" 
       android:layout_height="20dp" 
       android:text=" Click To Send Email " 
       android:textColor="#FFF" 
       android:clickable="true" 
       android:background="#cf1414" 
       android:linksClickable="true" 
       android:id="@+id/emailbutton"/> 
+0

Mon code java n'a pas 'onClickListener()' vous devriez aussi donner ce code. S'il vous plaît donnez une réponse complète à partir de maintenant si vous répondez à n'importe quelle question. Quoi qu'il en soit, merci pour l'aide. –

1

Merci à ceux qui m'ont aidé par leurs réponses

Voilà à quoi ressemble la réponse complète.

Dans le TextView de activityname.xml écrire android:autoLink="web"

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/home" 
    android:autoLink="web 
    android:text="@string/google" /> 

Dans le créer écrire le fichier javaonClickListener()

TextView txt= (TextView) findViewById(R.id.home); //txt is object of TextView 
    txt.setMovementMethod(LinkMovementMethod.getInstance()); 
    txt.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      Intent browserIntent = new Intent(Intent.ACTION_VIEW); 
      browserIntent.setData(Uri.parse("http://www.google.com")); 
      startActivity(browserIntent); 
     } 
    }); 

Aucun changement dans le fichier string.xml

Merci à @AdnanAmjad @sarvesh @Mikejess et à e e gars qui a supprimé son commentaire