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

Android Discussion :

Nouvel intent ne se lance pas suite au clique


Sujet :

Android

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 357
    Points
    357
    Par défaut Nouvel intent ne se lance pas suite au clique
    Bonjour,

    je voudrais savoir comment empecher la saisie d'un type de caratère dans un edit text? en particulier les chiffres?

    merci

    Ps: ne faites pas attention à l'intitulé du sujet, c'était un problème pour lequel je postai en premier, mais j'ai pu le résoudre

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 89
    Points : 71
    Points
    71
    Par défaut
    Bonjour
    Citation Envoyé par smobydick Voir le message
    Bonjour,

    je voudrais savoir comment empecher la saisie d'un type de caratère dans un edit text?
    empecher l'ecriture:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MonEditText.setFocusable(false);
    permettre l'ecriture:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MonEditText.setFocusableInTouchMode(true);

  3. #3
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Pour empêcher l'édition, autant passer par un setEnabled(false), pas besoin de commencer à se prendre la tête avec le focus.

    Sinon, pour répondre à ta question, si tu ne veux pas de chiffre, demande le clavier alphabétique.
    Documentation : http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType
    Ce qui correspondrait pour toi, c'est le inputType "Text", je pense.

    EDIT : et ça n'empêche pas de faire quelques contrôles sur les données rentrées pour bien vérifier
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 357
    Points
    357
    Par défaut
    J'ai trouvé androidDigit dans le lien qui , je pense, doit correspondre. Apparement c'est encore mieux vu qu'il fait apparaitre un clavier qu'avec des chiffres. Moi ce serait pour entrer un numéro de téléphone quand on clique sur l'edit text.

    mais ca ne marche pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <EditText  android:id="@+id/numero"
    		     android:layout_width="fill_parent"
    		     android:inputType="phone"
                         android:digits="1234567890"
    		    android:layout_height="wrap_content" />

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 357
    Points
    357
    Par défaut
    Autre problème :
    Donc lorsque l'on clique sur un bouton nommé Répertoire, celui ci s'ouvre et on à accès à la liste des contacts. Cependant, si l'utilisateur revient en arrière (bouton retour) l'appli plante... comment faire pour qu'elle retourne à l'activité précédente ?
    j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     else if(resultCode == RESULT_CANCELED){
    	    	Toast.makeText(this, "operation annulée", Toast.LENGTH_SHORT).show();
    }
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	 public void onBackPressed(){
    		 Intent retour = new Intent(SmsActivity.this,
                     ContactsContract.Contacts.class);
               startActivity(retour);
               Log.e("RESULT_OK", "erreur");
               Toast.makeText(this, "opération annulée", Toast.LENGTH_SHORT)
                     .show();
    mais ça ne marche pas, je rentre même pas dans le log.e

    EDIT: pour le clavier je viens d'y arrivé en refaisant la même méthode, mais là ça marche

  6. #6
    Expert éminent

    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
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Tu peux soit par le code
    http://developer.android.com/reference/android/widget/TextView.html#setFilters(android.text.InputFilter[])



    soit direcment dans le fichier xml
    http://developer.android.com/referen...roid:inputType

    donc
    android:inputType="number"

    Donc lorsque l'on clique sur un bouton nommé Répertoire, celui ci s'ouvre et on à accès à la liste des contacts. Cependant, si l'utilisateur revient en arrière (bouton retour)
    Ce bouton fait parti de ton application ?

    Car normalement tout retour amène sur l'activity parente soit celle qui l'a appelé si tu n'a pas fait un finish sur celle ci après l'appel...

    Si cela plante c'est peut être lors du retour sur ton activity qui a du mal a se reconstruire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void onBackPressed(){
    Dans quelle Activity se trouve ce bout de code ?
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 357
    Points
    357
    Par défaut
    Non ce bouton ne fait pas parti de mon appli, c'est le simple bouton "retour" d'android, la fleche disponoble via les touches. Lorsque je clique sur "répertoire" je suis envoyer à l’activité Contacts, mais lorsque je clique sur retour depuis l'activité contact, ça plante.

    Donc j'ai lu aussi que c'est android qui gérait les retours à l'activité précédente lui même, donc j'ai retiré le OnBackPressed() mais ça plante quand même
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    06-05 13:05:01.740: E/AndroidRuntime(333): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=0, data=null} to activity {com.jo.jo/com.jo.jo.SmsActivity}: java.lang.NullPointerException
    J'ai l'impression que ça me dit que, vu que j'ai créé une intent de Contact, et que j'ai précisé via un setType que ça doit forcement retourner une valeur de type Contact, et forcement lorsque je clique sur "retour" ca retourne un "null".. qui serait peut être la cause du plantage....

  8. #8
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Merci de donner le stacktrace complet
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 357
    Points
    357
    Par défaut
    Voici

    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
    06-05 14:21:08.191: W/IInputConnectionWrapper(370): showStatusIcon on inactive InputConnection
    06-05 14:21:14.231: D/AndroidRuntime(370): Shutting down VM
    06-05 14:21:14.231: W/dalvikvm(370): threadid=1: thread exiting with uncaught exception (group=0x40015560)
    06-05 14:21:14.271: E/AndroidRuntime(370): FATAL EXCEPTION: main
    06-05 14:21:14.271: E/AndroidRuntime(370): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=0, data=null} to activity {com.jo.jo/com.jo.jo.SmsActivity}: java.lang.NullPointerException
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at android.app.ActivityThread.deliverResults(ActivityThread.java:2532)
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at android.app.ActivityThread.handleSendResult(ActivityThread.java:2574)
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at android.app.ActivityThread.access$2000(ActivityThread.java:117)
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:961)
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at android.os.Looper.loop(Looper.java:123)
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at android.app.ActivityThread.main(ActivityThread.java:3683)
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at java.lang.reflect.Method.invokeNative(Native Method)
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at java.lang.reflect.Method.invoke(Method.java:507)
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at dalvik.system.NativeStart.main(Native Method)
    06-05 14:21:14.271: E/AndroidRuntime(370): Caused by: java.lang.NullPointerException
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at com.jo.jo.SmsActivity.onActivityResult(SmsActivity.java:121)
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at android.app.Activity.dispatchActivityResult(Activity.java:3908)
    06-05 14:21:14.271: E/AndroidRuntime(370): 	at android.app.ActivityThread.deliverResults(ActivityThread.java:2528)
    06-05 14:21:14.271: E/AndroidRuntime(370): 	... 11 more
    Merci

  10. #10
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Peux-tu nous mettre la méthode onActivityResult de la classe SmsActivity ?
    Surtout la ligne 121 de cette méthode-là (pas que cette ligne-là, ce qui l'englobe aussi) ?
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 357
    Points
    357
    Par défaut
    Voici

    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
    public void onActivityResult(int reqCode, int resultCode, Intent data){// permet de recuperer ce que startActivityForResult à envoyé
    	 super.onActivityResult(reqCode, resultCode, data);
    
    
    	    	
    Ligne   121   ->	  Uri contactData = data.getData();
    	         Cursor c =  managedQuery(contactData, null, null, null, null);// creation objet cursor pour analyser chaque enregistrements
    	         if (c.moveToFirst()) {
    	             
    
    
    
    	             String id =c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts._ID)); //recuperer l'index de la colonne ID du contact
    
    
    	             String hasPhone =c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)); //on verifie si le contact à un numero de téléphone
    
    	               if (hasPhone.equalsIgnoreCase("1")) { // s'il a un numéro...
    	            	   
    	            	   
    		              Cursor phones = getContentResolver().query( 						// ...on créé le curseur qui se déplacera dans les contacts
    		                           ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null, 
    		                           ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ id, 
    		                           null, null);
    		                 phones.moveToFirst();
    		                 
    		                 String numContact =
    		                         phones.getString(phones
    		                               .getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER));//recuperer le numero et 
    		                 String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));// le nom dans une variable de type string
    		                 
    		                 // afficher valeur de name et numContact dans l'edit text
    			             ((TextView) findViewById(R.id.numero)).setText(String
    			                     .valueOf(name+"("+
    			                             numContact+")"));
    	               }
    	            
    	    
    	    }
    	         
    
    
    }

  12. #12
    Expert éminent

    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
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour

    Tu as la réponse dans ton logcat
    {who=null, request=0, result=0, data=null}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Uri contactData = data.getData();
    la ton data.getData avec un data = null , il ne va pas trop aimer .
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 357
    Points
    357
    Par défaut
    C'est ce que je me disais oui, Parcequ'il attends de recevoir un contact(quelque lignes avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     startActivityForResult(intent, PICK_CONTACT);
    ) Mais je ne sais pas quoi faire pourqu'il ne soit pas egal à null quand je fais retour, vu qu'il ne reçoit pas de contact

  14. #14
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    if (data != null){ ... } ?
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 357
    Points
    357
    Par défaut
    Oui j'ai essayé de mettre des conditions si data =! null, aussi je pensais que vu que le resultCode ne vallait pas RESULT_Ok cela générait l'erreur. J'ai mis des logcat pour voir si je rentrais bien dans ces conditions, mais meme si je rentre dedans data vaux toujours null.
    J'ai même essayé de rappelé la vue principale si data vallait null, mais ça marche pas, cette appli va me rendre fou !

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 357
    Points
    357
    Par défaut
    Problème résolus enfin! tous marche parfaitement maintenant
    Je vous remercie pour votre aide !

  17. #17
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    N'oublie pas de passer ta discussion à l'état résolu dans ce cas (bouton en bas).
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

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

Discussions similaires

  1. [VBA] Ma fonction ne se lance pas quand je clique sur mon bouton
    Par MeHo_ dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/03/2008, 16h28
  2. mmc.exe qui ne se lance pas
    Par r0d dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 27/04/2005, 17h11
  3. [Kylix] Ne se lance pas sous Fedora core 3
    Par John@EuroDevz dans le forum EDI
    Réponses: 3
    Dernier message: 14/02/2005, 16h27
  4. Mysql ne se lance pas problème de socket
    Par Riko dans le forum Installation
    Réponses: 5
    Dernier message: 05/02/2004, 09h28
  5. Envoi d'un mail en VBA: outlook ne se lance pas
    Par Hannibal dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/06/2003, 15h24

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