IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

longclick item listView


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2011
    Messages
    64
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2011
    Messages : 64
    Par défaut longclick item listView
    Bonjour

    J'aimerais pouvoir afficher une boit de dialogue lorsque je fais un long click sur un item de ma listView, mais je n'y arrive pas (juste lorsque je fais un simple click)

    Je vous met le code en dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    public class Favoris extends Activity implements OnItemClickListener, OnItemLongClickListener{
     
    	ListView list;
    	ArrayList<VinsJson> vins = new ArrayList<VinsJson>();
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.favoris);
     
    		//gestion de la liste view
    		list = (ListView)this.findViewById(R.id.lstVins);
    		list.setOnItemClickListener(this);
    		list.setOnItemLongClickListener(new OnItemLongClickListener() {
    		})
     
    		FavorisFichier favoris = new FavorisFichier(getBaseContext());
    		for(int i=1 ; i<=favoris.nombreDeFavoris() ; i++){
    			vins.add(favoris.StringToVinsJson(
    					favoris.lectureVinsJson(i)));
    		}
     
    		DescriptionVinsAdapter adpt = new DescriptionVinsAdapter(getBaseContext(), vins);
    		adpt.notifyDataSetChanged();
    		list.setAdapter(adpt);
    	}
     
    	@Override
    	public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
    		VinsJson vin = (VinsJson)list.getItemAtPosition(position);
    		Intent vinsDetails = new Intent(getBaseContext(), DescriptionVinsDetails.class);
    		vinsDetails.putExtra("vin", vin);
    		startActivityForResult(vinsDetails, 1);
    	}
     
    	@Override
    	public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    		AlertDialog.Builder dialog = new AlertDialog.Builder(this);
    		dialog.setTitle("que voulez vous faire ?");
    		dialog.setPositiveButton("afficher", new OnClickListener() {			
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				;
    			}
    		});
    		dialog.setNeutralButton("supprimer", new OnClickListener() {			
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				;
    			}
    		});dialog.setNegativeButton("annuler", new OnClickListener() {			
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				;
    			}
    		});
    		return false;
    	}
    }
    J'ai oublié quelque chose ? Parce que je vois vraiment pas là.

    Cordialement

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    list.setOnItemClickListener(this);
    list.setOnItemLongClickListener(new OnItemLongClickListener() {
    })
    euh .. tu interceptes le long click mais tu n'en fais rien oO

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    list.setOnItemLongClickListener(new OnItemLongClickListener() {
      // ici normalement tu places ton code traitant sur un appui long sur ta list view 
     
    });
    Ou dans ton cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list.setOnItemLongClickListener(this);

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2011
    Messages
    64
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2011
    Messages : 64
    Par défaut
    Euh, oui, excuse moi, je me suis trompé en copiant le code (je fais quelque test avant de demander de l'aide, mais j'avais oublié de tout remettre bien), mais a l'origine, j'avais bien ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list.setOnItemLongClickListener(this);
    Je viens de retester au cas où, mais ca fonctionne toujours pas, seul mon click court fonctionne

  4. #4
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Essaye avec ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    abstract boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    @Override
    	public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
    		AlertDialog.Builder dialog = new AlertDialog.Builder(this);
    		dialog.setTitle("que voulez vous faire ?");
    		dialog.setPositiveButton("afficher", new OnClickListener() {			
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				;
    			}
    		});
    		dialog.setNeutralButton("supprimer", new OnClickListener() {			
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				;
    			}
    		});dialog.setNegativeButton("annuler", new OnClickListener() {			
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				;
    			}
    		});
    		return false;
    	}

  5. #5
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2011
    Messages
    64
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2011
    Messages : 64
    Par défaut
    C'était en fait du a une erreur idiote, j'avais oublié de mettre dialog.show, tout simplement.

    Excusez moi pour le dérangement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Garder en mémoire Items ListView
    Par CLeBeR dans le forum VB.NET
    Réponses: 2
    Dernier message: 29/11/2011, 07h29
  2. clic sur item listview fonctionne pas
    Par JCMANSION dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 07/12/2010, 13h06
  3. récupérer contenu item (Listview)
    Par Hellgast dans le forum C++Builder
    Réponses: 1
    Dernier message: 13/03/2010, 20h37
  4. Problème agencement items ListView
    Par Ju2Pom dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/10/2007, 11h09
  5. [c#] doubleclick sur item listview
    Par TERRIBLE dans le forum Windows Forms
    Réponses: 3
    Dernier message: 21/05/2007, 10h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo