2010-09-29 3 views
2

J'ai un élément ListView personnalisé avec ImageView et TextView. TextView contient une chaîne HTML avec des URL et du texte régulier. Im mon adaptateur J'ai un code similaire àArticle cliquable avec des URL cliquables dans ListView

tv.setText(Html.fromHtml("<a href='http://google.com'>google</a>")); tv.setMovementMethod(LinkMovementMethod.getInstance());

ce qui fonctionne très bien, mais onListItemClick n'est pas exécuté lorsque je clique sur le point extérieur url, article tout ressemble inactif.

Lorsque je clique sur l'url, je veux déclencher des urls de formulaire d'action par défaut et quand je clique sur du texte normal ou sur ImageView je veux exécuter onListItemClick est-ce possible?

Deuxième question, est-il possible de démarrer l'activité en utilisant <a href="...">start some activity</a>?

+0

Deuxième question: non, AFAIK ce n'est pas possible. – Cristian

Répondre

0

Vous devez spécifier un rappel pour chacune des vues que vous souhaitez sélectionner. Je crois que vous avez trois éléments différents: L'objet Listview, qui contient un TextView et un ImageView.

Si vous souhaitez avoir un comportement différent pour chaque pièce différente, vous devez créer un rappel pour chaque pièce différente. Vous pouvez définir un rappel dans la déclaration XML de la vue par la mise

android:onClick="myCallback" 

http://developer.android.com/reference/android/view/View.html#attr_android:onClick

1

Vous ne pouvez pas faire une forme d'ancrage d'une intention.

C'est bon et recommandé que vous utilisez onListItemClick (il vous fait économiser beaucoup de travail), et si vous voulez ouvrir le lien dans le navigateur (sans utiliser un webview), vous pouvez utiliser cette intention, ceci est un exemple :

Intent myIntent = new Intent(Intent.ACTION_VIEW,ContentURI.create("http://www.google.com")); 
startActivity(myIntent); 

Espérons que cela aide.

Questions connexes