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 :

problème avec CheckBox - EditText.setFocusable()


Sujet :

Android

  1. #1
    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 problème avec CheckBox - EditText.setFocusable()
    j'ai réalisé une CheckBox et un EditText.
    j'ai mis l'EditText en .setFocusable(false). Je souhaite quand je select le CheckBox, l'EditText se met en .setFocusable(true).

    Le code Java:
    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
     
    public class AjoutProduits extends Activity{
    	EditText qte1,qte2;
            CheckBox CheckBox1,CheckBox2; 
     
        @Override
     public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.ajoutproduits);
    qte1 = (EditText) findViewById(R.id.editText3);
     qte2 = (EditText) findViewById(R.id.editText4);
     
     
     qte1.setFocusable(false);
     qte2.setFocusable(false);
     
     CheckBox1 = (CheckBox) findViewById(R.id.checkbox1);
     CheckBox2 = (CheckBox) findViewById(R.id.checkbox2);
     
     CheckBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
     
         @Override
         public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
     
             if(CheckBox1.isChecked()){
            	 qte1.setFocusable(true);
             }
             else{
            	 qte1.setFocusable(false);}
         }
     });
     
    CheckBox2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
     
         @Override
         public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
     
             if(CheckBox2.isChecked()){
            	 qte2.setFocusable(true);
             }
             else{
            	 qte2.setFocusable(false);}
         }
     });
    mon fichier 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
     
    <TableRow>
            <CheckBox
            android:id="@+id/checkbox1"
            android:padding="3dip"/>
     
     
            <EditText
            android:id="@+id/editText3"
            android:hint="Entrez la Qte1"
            android:gravity="right"
            android:padding="3dip" />
        </TableRow>
     
     
        <TableRow>
            <CheckBox
         android:id="@+id/checkbox2"
         android:padding="3dip"/>
     
     
            <EditText
            android:id="@+id/editText4"
            android:hint="Entrez la Qte2"
            android:gravity="right"
            android:padding="3dip" />
        </TableRow>
    l'affichage des élèments de fichier XML marche bien. Mon problème est lorsque je select le checkBox , l'état de l'Edit Text ne change pas??
    Le logcat n'affiche aucun erreur.

    Merci pour votre aide.

  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
    Bonsoir,
    Je pense que j'ai utilisé la mauvaise instruction.
    La correcte est:
    Pour empêcher l’écriture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonEditText.setFocusable(false);
    permettre l'ecriture:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonEditText.setFocusableInTouchMode(true);
    J'ai changé cette partie de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(CheckBox1.isChecked()){
            	 qte1.setFocusable(true);
             }
             else{
            	 qte1.setFocusable(false);
    Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(CheckBox1.isChecked()){
            	 qte1.setFocusableInTouchMode(true);
             }
             else{
            	 qte1.setFocusable(false);
    Est maintenant ça marche bien

    J'ai trouvé dans quelque forum, qu'il y a la possibilié d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EditText.setFocusable(true);
    mais je ne sais pas pourquoi on ne me donne aucune résultats??

  3. #3
    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
    Pour empêcher l’écriture
    Code :Sélectionner tout - Visualiser dans une fenêtre à part
    MonEditText.setFocusable(false);
    Non cela empêche juste que ton EditText est le "focus".

    Le mieux est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonEditText.setKeyListener(null);
    Enlève l'ajout sur ton EditText

    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonEditText.setEnabled(false)
    Interdit l'accès à ton EditText.

    Dans ton xml tu as aussi la propriété android:editable

    Pour l'autorisation il faut juste mettre true là ou tu as mis false.

    mais je ne sais pas pourquoi on ne me donne aucune résultats??
    quel résultats ?
    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.

  4. #4
    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
    Bonsoir,
    Citation Envoyé par Feanorin Voir le message

    quel résultats ?
    J'ai vu dans des forums, que c'est possible d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    MonEdit.setFocusable(false);
    if (   ) 
     MonEdit.setFocusable(true);
            else
     MonEdit.setFocusable(false);
    Mais l'etat "false" de MonEdit ne chage pas en "True" ???
    J'ai remplacé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     MonEdit.setFocusable(true);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     MonEditText.setFocusableInTouchMode(true);
    est ça marche bien.

    Donc, Est ceque l'utilisation de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     MonEdit.setFocusable(true);
    est correcte? car ça donne aucun changement

  5. #5
    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
    est correcte? car ça donne aucun changement
    Aucune idée je ne passe pas par ces méthode, tout ce que cela doit faire c'est de pouvoir avoir le focus sur cet edit donc qu'elle soit sélectionnable ?

    http://code.google.com/p/android/issues/detail?id=3341

    Il est recommandé de faire les deux :/
    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.

Discussions similaires

  1. [AC-2003] problème avec acropdf et setfocus
    Par atchoooum dans le forum VBA Access
    Réponses: 3
    Dernier message: 04/05/2009, 11h14
  2. problème avec checkbox
    Par srt101 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/11/2008, 20h36
  3. Problème avec CheckBox
    Par zanzan212 dans le forum Struts 1
    Réponses: 6
    Dernier message: 11/01/2008, 16h07
  4. Problèmes avec checkboxes
    Par Strix dans le forum Langage
    Réponses: 5
    Dernier message: 12/06/2007, 15h13
  5. problème avec checkbox
    Par azur_34 dans le forum Struts 1
    Réponses: 1
    Dernier message: 14/05/2007, 12h24

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