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 :

Récupération détails item séléctionné dans un menu contextuel


Sujet :

Composants graphiques Android

  1. #1
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut Récupération détails item séléctionné dans un menu contextuel
    Salut
    j'aimerai récupérer les détails (c'est à dire par exemple j'ai mon item objet formation qui s'affiche dans une listeView, lorsque l'utilisateur clique sur un item un menu contextuel s'affiche pour lui donner le choix de téléphoner à ce centre de formation sélectionné ainsi que d'autres choix.
    Comment puis-je récupérer le numéro de téléphone de cet item?
    Merci
    Voilà la classe Formation:
    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    public class Formation {
    	private long _id;
    	private String libellé;
    	private String tel;
    	private String email;
    	private String adresse;
    	private String ville;
    	private String catégorie;
    	private double longitude;
    	private double latitude;
    	//private String catégorie;
     
     
    	public Formation(){
    		super();
    	}
     
    	public Formation(String libellé, String tel, String email, String adresse, String ville, String catégorie){
    		super();
    		this.setLibellé(libellé);
    		this.setTel(tel);
    		this.setEmail(email);
    		this.setAdresse(adresse);
    		this.setVille(ville);
    		this.setCatégorie(catégorie);
    		//this.setCatégorie(catégorie);
    		// manque l'attribut pour les catégories de formation qui doit etre une sorte de tableau ou liste (a vérifier)
    	}
    	public Formation(String libellé, String tel, String email, String adresse, String ville, String catégorie, double longitude, double latitude){
    		super();
    		this.setLibellé(libellé);
    		this.setTel(tel);
    		this.setEmail(email);
    		this.setAdresse(adresse);
    		this.setVille(ville);
    		this.setCatégorie(catégorie);
    		this.setLongitude(longitude);
    		this.setLatitude(latitude);
    		//this.setCatégorie(catégorie);
    		// manque l'attribut pour les catégories de formation qui doit etre une sorte de tableau ou liste (a vérifier)
    	}
     
     
     
    	public void setLibellé(String libellé) {
    		this.libellé = libellé;
    	}
     
    	public String getLibellé() {
    		return libellé;
    	}
     
    	public void setTel(String tel) {
    		this.tel = tel;
    	}
     
    	public String getTel() {
    		return tel;
    	}
     
    	public void setEmail(String email) {
    		this.email = email;
    	}
     
    	public String getEmail() {
    		return email;
    	}
     
    	public void setAdresse(String adresse) {
    		this.adresse = adresse;
    	}
     
    	public String getAdresse() {
    		return adresse;
    	}
    	public String toString(){
    		return "ID : "+_id+"\nLibellé : "+libellé+"\nTel : "+tel+"\nEmail : "+email+"\nAdresse : "+adresse+"\nVille : "+ville+"\nCatégorie : "+catégorie;
    	}
     
    	public void setVille(String ville) {
    		this.ville = ville;
    	}
     
    	public String getVille() {
    		return ville;
    	}
     
    	public void setCatégorie(String catégorie) {
    		this.catégorie = catégorie;
    	}
     
    	public String getCatégorie() {
    		return catégorie;
    	}
     
    	public void set_id(int _id) {
    		this._id = _id;
    	}
     
    	public long get_id() {
    		return _id;
    	}
     
    	public void setLongitude(double longitude) {
    		this.longitude = longitude;
    	}
     
    	public double getLongitude() {
    		return longitude;
    	}
     
    	public void setLatitude(double latitude) {
    		this.latitude = latitude;
    	}
     
    	public double getLatitude() {
    		return latitude;
    	}
     
     
     
     
    }
    Gérer menu contextuel:
    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
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    		super.onCreateContextMenu(menu, v, menuInfo);
    		menu.setHeaderTitle("Action");
    		menu.add(0,100,0,"Call");
    		menu.add(0,200,1,"More details");
    		menu.add(0, 300, 3, "Localisation");
    		menu.add(0,400,2,"send mail");
    	}
     
    	@Override // Selection d'un item du menu contextuel
    	public boolean onContextItemSelected(MenuItem item) {
    		AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
    		switch(item.getItemId()){
    		case 100:
     
    			String tel = item
    			Intent appel = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:"+ tel));
    			startActivity(appel);
    			break;
    		case 200:
    			Toast.makeText(this, "TODO", Toast.LENGTH_SHORT).show();				
    			break;			
    		}
    		return true;
    	}
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  2. #2
    Membre confirmé
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Points : 559
    Points
    559
    Par défaut
    Bonjour,
    tu souhaites récupérer le Centre de formation sélectionné dans le ListView...
    Le ContextMenu n'est pas vraiment concerné, et ne contient pas les infos lui.

    Il serait préférable que tu montres le code correspondant à la création du ListView, pour voir ce que tu as utilisé comme Adapter pour afficher tes données de Centre de Formation

  3. #3
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut
    je pense que vous n'avez pas compris ce que je cherche a faire. j'explique plus: une listView contient des items centreformation1, 2,3 etc. je veux fournir a l'utilisateur l'option appeler le centre de formation directement de l'application. donc lorsqu'il clique longuement sur l'item il y aura un menu contextuel qui lui fournis l'option "call" quand il clique sur il lui sera afficher le num de tel de ce centre dans la composition numero du telephone. voila. Ça devra fonctionner parce que pleins d'application procèdent au menu contextuel pour choisir une option concernant l item selectionné au debut.
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  4. #4
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut
    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    public class Main3 extends ListActivity implements OnClickListener {
     
     
    	FormationBDD formationBdd;
    	Formation liste;
     
    	@Override
    	  public void onCreate(Bundle savedInstanceState) {
    	    super.onCreate(savedInstanceState);
    	    setContentView(R.layout.resultat_list);
    	 // On récupère l'intent qui a lancé cette activité
    	    Intent i = getIntent();
    	    String ville = i.getStringExtra(Main2.VILLE);
    	    String catégorie = i.getStringExtra(Main2.CATEGORIE);
    	    formationBdd = new FormationBDD(this);
    	    formationBdd.open();
    	 //   liste = formationBdd.getFormation(ville, catégorie); 
    		//    if (liste == null)
    		 //       Toast.makeText(Main3.this, "liste de formation vide ", Toast.LENGTH_LONG).show();
    		   //     else
    		        	DataBind(ville, catégorie);
    		        	registerForContextMenu(getListView());
    	}
     
        @Override // Création du menu principal
        public boolean onCreateOptionsMenu(Menu menu) {    	
        	menu.add(0,100,0,"Tout effacer");
        	return true;
        }
     
        @Override // Selection d'un item du menu
        public boolean onOptionsItemSelected(MenuItem item) {
        	switch(item.getItemId()){
        	case 100: 
        		//db.Truncate();
        		//DataBind();
        		break;    	
        	}
        	return true;
        }
     
    	@Override // Selection d'un item de la liste
    	protected void onListItemClick(ListView l, View v, int position, long id) {
    		//Cursor cursor = (Cursor)l.getAdapter().getItem(position);
    		//String titre  = cursor.getString(cursor.getColumnIndex("libellé"));
    		//Toast.makeText(this,"Item id "+id+" : "+titre, Toast.LENGTH_SHORT).show();
    		//super.onListItemClick(l, v, position, id);
    	}
     
    	@Override // Creation du menu contextuel
    	public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    		super.onCreateContextMenu(menu, v, menuInfo);
    		menu.setHeaderTitle("Action");
    		menu.add(0,100,0,"Call");
    		menu.add(0,200,1,"More details");
    		menu.add(0, 300, 3, "Localisation");
    		menu.add(0,400,2,"send mail");
    	}
     
    	@Override // Selection d'un item du menu contextuel
    	public boolean onContextItemSelected(MenuItem item) {
    		AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
    		switch(item.getItemId()){
    		case 100:
     
    			String tel = item
    			Intent appel = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:"+ tel));
    			startActivity(appel);
    			break;
    		case 200:
    			Toast.makeText(this, "TODO", Toast.LENGTH_SHORT).show();				
    			break;			
    		}
    		return true;
    	}
     
        @Override
        protected void onDestroy() {
        //	db.close();
        	super.onDestroy();
        }
     
     
    	 public void DataBind(String ville, String catégorie){
     
    	    	Cursor c = formationBdd.recupererChoixFormations(ville, catégorie);
    	    	startManagingCursor(c);
    	    	SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
    	    	    	R.layout.list1,c,new String[]{"libellé","adresse","tel"},
    	    	    	new int[]{R.id.textLibellé,R.id.TextAdresse,R.id.TextTel});
    	    	    	setListAdapter(adapter);
    	 }
     
    	@Override
    	public void onClick(View v) {
    		// TODO Auto-generated method stub
     
    	}
    }
    recherche.xml
    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
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="vertical" >
     
        <TextView
        android:id="@+id/textLibellé"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Ville :" />
        <Spinner android:layout_height="wrap_content" 
            android:layout_width="fill_parent"
            android:id="@+id/villeSpinner"
     
            />
     
        <TextView
        android:id="@+id/textAdresse"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Catégorie Formation :" />
            <Spinner android:layout_height="wrap_content" 
            android:layout_width="fill_parent"
            android:id="@+id/catSpinner"
     
            />
      <Button
          android:id="@+id/recherche"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_gravity="center"
          android:text="Recherche" />    
          <ListView
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:id="@android:id/list"
        />
     
     
     
    </LinearLayout>
    item list
    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
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >
     
    	<TextView 
    	android:layout_width="fill_parent"
    	android:layout_height="fill_parent"
    	android:textStyle="bold"
    	android:id="@+id/textLibellé"
    	/>	
    	<TextView 
    	 android:layout_width="fill_parent"
    	 android:layout_height="fill_parent"
    	android:id="@+id/TextAdresse"
    	 android:text="adresse: "
     
    	/>
     
    	<TextView 
    	 android:layout_width="fill_parent"
    	 android:layout_height="fill_parent"
    	android:id="@+id/TextTel"
    	  android:text="Tel: "
     
    	/>
     
    </LinearLayout>
    resultat_list.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
     
     
         <ListView
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:id="@android:id/list"
        />
     
    </LinearLayout>
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  5. #5
    Membre confirmé
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Points : 559
    Points
    559
    Par défaut
    Oui, je pense avoir compris, et tu me confirmes bien par ton dernier msg que ce sont les items du Listview qui contiennent tes infos (Centres de formation)...

    Il serait donc préférable que tu montres le code de création du ListView et de création des items

  6. #6
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut
    voila j'ai modifié le code
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  7. #7
    Membre confirmé
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Points : 559
    Points
    559
    Par défaut
    ok,
    tu peux récupérer les infos sélectionnées dans ton ListView sur la méthode onListItemClick

    J'ai pris l'exemple du tel que j'ai déclaré en tant que membre privé, pour que tu puisses le réutiliser dans onContextItemSelected

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private String tel;
    protected void onListItemClick(ListView l, View v, int position, long id) {
    	tel=((Cursor) l.getItemAtPosition(position)).getString(3);
    	...
    }
    Sinon, pas terrible les accents pour le nommage des constantes ou variables, ça risque de poser des pbs

  8. #8
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut
    je l'ai fais mais ça n'a pas marché, le clavier composition numéro du téléphone s'ouvre mais il n'y est pas le numéro de téléphone de l'item séléctionné:
    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
    @Override // Selection d'un item de la liste
    	protected void onListItemClick(ListView l, View v, int position, long id) {
    		Cursor cursor = (Cursor)l.getAdapter().getItem(position);
    		tel  = cursor.getString(cursor.getColumnIndex("tel"));
    		//Toast.makeText(this,"Item id "+id+" : "+titre, Toast.LENGTH_SHORT).show();
    		super.onListItemClick(l, v, position, id);
    	}
     
    	@Override // Creation du menu contextuel
    	public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    		super.onCreateContextMenu(menu, v, menuInfo);
    		menu.setHeaderTitle("Action");
    		menu.add(0,100,0,"Call");
    		menu.add(0,200,1,"More details");
    		menu.add(0, 300, 3, "Localisation");
    		menu.add(0,400,2,"send mail");
    	}
     
    	@Override // Selection d'un item du menu contextuel
    	public boolean onContextItemSelected(MenuItem item) {
    		AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
    		switch(item.getItemId()){
    		// if "call" selected
    		case 100:
     
     
    		Intent appel = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:"+ tel));
    		startActivity(appel);
    			break;
    			//if "More details" selected
    		case 200:
    			Intent result = new Intent(ResultResearch.this, DetailCenter.class);
    			//result.putExtra(VILLE, ville);
    			//result.putExtra(CATEGORIE, catégorie);
     
    			startActivity(result);			
    			break;
    			//if "Localisation" selected
    		case 300:
    			break;
    			// if "send mail" selected
    		case 400:
    			break;
    		}
    		return true;
    	}
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  9. #9
    Membre confirmé
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Points : 559
    Points
    559
    Par défaut
    Bonjour,
    dans ce cas, il est probable que ce soit la méthode onListItemClick qui ne réponde pas au click

    Affiche le tel dans la méthode onListItemClick :
    Toast.makeText(this,"Tél : "+tel , Toast.LENGTH_SHORT).show();
    Si rien ne s'affiche, essaye de voir si ça n'est pas un problème dû à la mise en forme en cliquant à plusieurs endroits, ou si ça n'est pas un problème de reception de focus sur l'un des éléments de l'item.
    Dans ce cas, il faudrait mettre
    android:focusable="false"
    sur ces éléments

    et le :
    super.onListItemClick(l, v, position, id);
    ne sert à rien...

  10. #10
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut
    Bonjour,
    le problème c'est que ne veux pas que ça ne fonctionne que si l'utilisateur clique sur l'item puis fais un autre clique long (le numéro s'affiche comme ça dans la composition n°Tel du téléphone)! je veux que ça fonctionne en un seul click prolongée.
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  11. #11
    Membre confirmé
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Points : 559
    Points
    559
    Par défaut
    Bonjour,
    j'avoue avoir beaucoup de mal à comprendre ce que tu souhaites exactement obtenir comme résultat...

    Finalement, tu veux, par un seul click sur un item du listview, faire apparaître le menu contextuel affichant :
    • Appel téléphonique
    • Affichage des renseignements
    • Envoi de mail


    Tu peux explicitement provoquer l'affichage du contextMenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    protected void onListItemClick(ListView l, View v, int position, long id) {
    	tel=((Cursor) l.getItemAtPosition(position)).getString(3);
    	...
    	 v.showContextMenu();
    }

  12. #12
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut
    c'est bon c'était ça la solution. l'appel du menu contextuel dans onListItemClick
    Merci
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  13. #13
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut
    S'il vous plait maintenant j'ai un problème avec l'intégration de l'email dans la destination de l'application GMAIL. est ce que c'est faux pour la récupération d'écrire comme ça? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public boolean onContextItemSelected(MenuItem item) {
    		AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
    		switch(item.getItemId()){
    case 400:
    		 Intent sendMailIntent = new Intent(Intent.ACTION_SEND); 
    			 sendMailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{ email }); 
    		        sendMailIntent.putExtra(Intent.EXTRA_SUBJECT, "Sujet du mail"); 
    		        sendMailIntent.putExtra(Intent.EXTRA_TEXT, "Ici le contenu du message\nMultiligne bien sur ;)\n\n"); 
    		        sendMailIntent.setType("message/rfc822"); 
    		        startActivity(Intent.createChooser(sendMailIntent, "Choose an Email client :"));
    break;
    }
    J'ai récupéré l'email dans OnListItemClick et testé avec un toast et ça me retourne l'email:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    email = cursor.getString(cursor.getColumnIndex("email"));
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  14. #14
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut
    Citation Envoyé par kox2ee Voir le message
    janyoura,
    je veux bien répondre à ta nouvelle question,
    mais dans un autre topic...

    ...puisqu'il s'agit d'un tout autre problème que la récupération des détails d'un Item sélectionné dans le ListView d'une ListActivity
    d'accord, j'ai cru que c'est dans le même contexte.
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/06/2014, 18h59
  2. Rendre accessible un champ dans un menu contextuel
    Par anikeh dans le forum VBA Access
    Réponses: 5
    Dernier message: 14/09/2005, 15h20
  3. Capture écran dans le menu contextuel
    Par Furius dans le forum Autres Logiciels
    Réponses: 11
    Dernier message: 02/09/2005, 19h35
  4. Réponses: 15
    Dernier message: 12/08/2005, 15h06
  5. Visibilité commande dans un Menu contextuel
    Par Hamdi dans le forum IHM
    Réponses: 3
    Dernier message: 20/01/2005, 12h29

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