2013-08-10 5 views
0

J'ai un listview qui a plusieurs sélections. Dans chaque article, il y a un textview disant "PLUS". En cliquant sur le texte, il affiche les détails du produit sur la page suivante.difficultés face à plusieurs sélection dans listview

Je l'ai fait dans le onitemclicklistener de listview pr_id = tx.getText().toString();tx est une vue de texte dans la liste ayant identifiant du produit et pr_id est l'identifiant du produit que je vous envoie à la page suivante par un intent.`

more.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View arg0) { 
        // TODO Auto-generated method stub 

        Intent i1 = new Intent(Product_List.this, 
          Product_View.class); 
        i1.putExtra("productid", pr_id); 

        Log.i("pid", pr_id); 

        startActivity(i1); 

       } 
      });` 

Tout fonctionne bien, mais le problème est que puisque j'ai multiselection et que l'utilisateur a choisi 3 éléments de listview dans l'ordre de 1er, 2ème et 3ème, puis quand ils cliquent sur le bouton "PLUS" de 1er article.

Cliquer sur le bouton 'PLUS' devrait montrer les détails du 1er article. Mais, puisqu'ils ont sélectionné le 3ème élément dans leur liste, ces détails sont affichés à la place, ce qui signifie que le dernier élément sélectionné contient la vue au lieu du 1er élément sélectionné.

Comment puis-je résoudre ce problème?

+0

vous devez utiliser la case à cocher pour cela ou définir une propriété choix multiple à votre listview –

+0

j'ai mis en multichoix mais dans ma conception je n'ai pas de case à cocher .. donc tout ce que je dois faire par ce design .. – user2595325

+0

vous avez pour faire la mise en page personnalisée avec la case à cocher pour listview –

Répondre

0

Dans votre ListViewAdapter lors de la création d'une vue pour un élément de liste, utilisez setTag() sur le "plus" -TextView pour lui ajouter pr_id. Dans l'écouteur more appelez getTag() pour récupérer le bon id.

+0

tout lien/L'exemple sera plus utile. – user2595325

+0

@ user2595325 Les liens mentionnés par Shani Goriwal montrent comment créer un 'ArrayAdapter' personnalisé. Dans son 'getView()' vous pouvez définir la balise –

+0

any1 avec plus d'idées plz ... – user2595325

Questions connexes