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 code Android


Sujet :

Android

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Etudiante en DUT RT
    Inscrit en
    Octobre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Etudiante en DUT RT

    Informations forums :
    Inscription : Octobre 2014
    Messages : 19
    Points : 7
    Points
    7
    Par défaut Problème code Android
    Bonjour,

    J'ai un petit problème pour finir mon projet Android Studio. Je suis étudiante en DUT R&T et nous avons comme projet de créer une liste de contacts où nous pouvons : ajouter, supprimer, modifier et appeler un contact sélectionné ou annuler la sélection. Le bouton "annuler" fonctionne. Le bouton "ok" fonctionne également.

    Mais le bouton "modifier", il le modifie dans le toast mais pas dans l'affichage et je comprend pas pourquoi... Les boutons "supprimer", "appeler" et "ajouter" ne marchent pas . J'ai donc enlevé du code ceux-là et je cherche toujours comment faire...

    Je vous affiche les codes, si vous pouviez m'aider, c'est à rendre pour demain...

    La classe Contact :
    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
    package com.alexandra883.contact;
     
    import java.io.Serializable;
     
     
    /**
     * Created by e1401506 on 22/10/2015.
     */
    public class Contact implements Serializable {
        private String nom;
        private String prenom;
        private String tel;
     
        public Contact (String nom, String prenom, String tel){
            this.nom = nom;
            this.prenom = prenom;
            this.tel = tel;
        }
     
        public String getNom(){
            return nom;
        }
     
        public String getPrenom() {
            return prenom;
        }
     
        public String getTel() {
            return tel;
        }
     
        public void setNom (String nom){
            this.nom = nom;
        }
     
        public void setPrenom (String prenom){
            this.prenom = prenom;
        }
     
        public void setTel (String tel){
            this.tel = tel;
        }
        public String toString() {
            return this.nom + this.prenom + this.tel;
        }
     
     
     
    }//RIEN EN DESSOUS
    La classe MainActivity :
    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
    package com.alexandra883.contact;
     
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ListView;
    import android.widget.Toast;
     
    import com.example.alexandra883.contact.R;
    // getIntent().getSerializableExtra()
     
    public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
     
        //Attribut CheeseAdapter
        private ContactAdapter adapter = new ContactAdapter(this);
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ListView list = (ListView) findViewById(R.id.listView);
            list.setAdapter(adapter);
            list.setOnItemClickListener(this);
        }
     
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.menu_main, menu);
            return true;
        }
     
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            int id = item.getItemId();
     
            if (id == R.id.action_settings) {
                return true;
            }
     
            return super.onOptionsItemSelected(item);
        }
     
        public void contact1 (View v){
            Intent monIntent = new Intent(this,ContactAdapter.class);
            startActivityForResult(monIntent, 102);
        }
     
        public void contactAjoute (View v){
            Intent monIntent = new Intent(this,ContactAdapter.class);
            startActivityForResult(monIntent, 101);
        }
     
        //Gestion des evenements
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Contact eltClique= (Contact) adapter.getItem(position);
            Toast.makeText(this, eltClique.toString(), Toast.LENGTH_SHORT).show();
            //Renvoi vers ContactActivity
            Intent a= new Intent(this,ContactActivity.class);
            a.putExtra("contact", eltClique);
            startActivityForResult(a, 100);
     
        }
     
     
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            // Vérification du code de retour
            // Vérifie que le résultat est OK
            if(requestCode == 100) {
                if (resultCode == RESULT_OK) {
                    // On récupére la balise de l'intent data
                    Contact contact = (Contact) data.getSerializableExtra("contact");
                    adapter.set(data.getIntExtra("position", -1), contact);
     
                    //Rafraichir la page après modifs
                    adapter.notifyDataSetChanged();
     
                    // Affichage du résultat
                    Toast.makeText(this, contact.toString(), Toast.LENGTH_SHORT).show();
     
     
                    // Si l'activité est annulé
                }
                else if (resultCode == RESULT_CANCELED) {
                    // On affiche que l'opération est annulée
                    Toast.makeText(this, "Opération annulée", Toast.LENGTH_SHORT).show();
                }
            }
        }
        //
     
    }//RIEN EN DESSOUS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    La classe ContactActivity :
    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
    public class ContactActivity extends AppCompatActivity {
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_contact);
     
            Contact c1 = (Contact) getIntent().getSerializableExtra("contact");
            TextView ctc = (TextView) findViewById(R.id.editText);
            TextView ctc1 = (TextView) findViewById(R.id.editText2);
            TextView ctc2 = (TextView) findViewById(R.id.editText3);
     
            ctc.setText(c1.getNom());
            ctc1.setText(c1.getPrenom());
            ctc2.setText(c1.getTel());
        }
     
     
     
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.menu_contact, menu);
            return true;
        }
     
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
            int id = item.getItemId();
     
            //noinspection SimplifiableIfStatement
            if (id == R.id.action_settings) {
                return true;
            }
            return super.onOptionsItemSelected(item);
        }
        //-------------BOUTON OK---------------------------------------------------------------------
        public void actionOK(View v){
            Contact toto = new Contact("","","");
     
            //Recuperer et retourner le nom grâce aux items
            EditText it = (EditText) findViewById(R.id.editText);
            String nom = it.getText().toString();
            toto.setNom(nom);
     
            //Recuperer et retourner le prenom grâce aux items
            EditText it1 = (EditText) findViewById(R.id.editText2);
            String prenom = it1.getText().toString();
            toto.setPrenom(prenom);
     
            //Recuperer et retourner le telephone grâce aux items
            EditText it2 = (EditText) findViewById(R.id.editText3);
            String tel = it2.getText().toString();
            toto.setTel(tel);
     
            //Ajouter un extra (data) permettant d'echanger une info avec MainActivity
            // Ajout des balises correspondant au contact modifié
            Intent data = new Intent();
            data.putExtra("contact", toto) ;
     
     
            // Intent contact = getIntent();
            data.getIntExtra("contact", -1);
            data.putExtra("contact", toto);
     
            //Je renvoye maintenant le résultat
            setResult(RESULT_OK, data);
            finish();
        }
     
        //------------BOUTTON ANNULER-------------------------------------------------------------------
     
        public void actionAnnuler (View v) {
            setResult(RESULT_CANCELED);
            finish();
        }
     
    }//RIEN EN DESSOUS
    La classe ContactAdapter
    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
    package com.alexandra883.contact;
     
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.TextView;
     
    import com.alexandra883.contact.Contact;
    import com.example.alexandra883.contact.R;
     
    import java.util.ArrayList;
     
    /**
     * Created by e1401506 on 22/10/2015.
     */
    public class ContactAdapter extends BaseAdapter{
     
        //Attribut Context
        private Context cont ;
        //Attribut  (ArrayList<String>)
        private ArrayList<Contact> listeContact = new ArrayList<>();
        //Constructeur
        public ContactAdapter (Context c) {
            this.cont=c;
            Contact Bernard = new Contact ("Bernard ", "Benoit ", "0630124578");
            Contact Muller = new Contact("Muller ", "Veronique ", "0600112244");
            Contact Jean = new Contact ("Jean ", "Eude ", "0612345678");
            Contact Hoert = new Contact ("Hoert ", "JC ", "0612457896");
     
            this.listeContact.add(Bernard);
            this.listeContact.add(Muller);
            this.listeContact.add(Jean);
            this.listeContact.add(Hoert);
        }
        @Override
        public int getCount() {
            return listeContact.size();
        }
     
        @Override
        public Object getItem(int position) {
            return listeContact.get(position);
        }
     
        @Override
        public long getItemId(int position) {
            return position;
        }
     
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // convertView null ?
            if (convertView == null) {
                LayoutInflater inflater = (LayoutInflater) cont.getSystemService
                        (Context.LAYOUT_INFLATER_SERVICE);
                convertView = inflater.inflate(R.layout.presentation, null);
            }
            // Recuperation de litem a la position
            String val = listeContact.get(position).toString();
            // Recuperation du composant (ici un TextView)
            TextView itemView = (TextView) convertView.findViewById(R.id.textView2);
            // Mise en place de laffichage
            itemView.setText(val);
            return convertView;
        };
     
     
        public boolean add(Contact object) {
            return listeContact.add(object);
        }
     
        public Contact get(int index) {
            return listeContact.get(index);
        }
     
        public Contact remove(int index) {
            return listeContact.remove(index);
        }
     
        public int size() {
            return listeContact.size();
        }
     
        public Contact set(int index, Contact object) {
            return listeContact.set(index, object);
        }
    }//RIEN EN DESSOUS !!!!!!!!!!!!!!!!!!!!!
    Le layout activity_contact
    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
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
        android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingBottom="@dimen/activity_vertical_margin"
        tools:context="com.example.e1401506.contact.ContactActivity">
     
     
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="CONTACT"
            android:id="@+id/textView3"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true" />
     
        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Ok"
            android:id="@+id/button"
            android:onClick="actionOK"
            android:layout_alignTop="@+id/button4"
            android:layout_centerHorizontal="true"
            />
     
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:text="Nom"
            android:ems="10"
            android:id="@+id/editText"
            android:layout_marginTop="53dp"
            android:layout_below="@+id/textView3"
            android:layout_alignLeft="@+id/editText2"
            android:layout_alignStart="@+id/editText2" />
     
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:text="Prenom"
            android:ems="10"
            android:id="@+id/editText2"
            android:layout_below="@+id/editText"
            android:layout_alignLeft="@+id/editText3"
            android:layout_alignStart="@+id/editText3" />
     
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:text="Telephone"
            android:ems="10"
            android:id="@+id/editText3"
            android:layout_below="@+id/editText2"
            android:layout_alignLeft="@+id/textView3"
            android:layout_alignStart="@+id/textView3" />
     
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="Nom"
            android:id="@+id/textView4"
            android:layout_alignTop="@+id/editText"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
     
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="Prénom"
            android:id="@+id/textView5"
            android:layout_below="@+id/editText"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
     
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="Téléphone"
            android:id="@+id/textView6"
            android:layout_alignTop="@+id/editText3"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
     
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Annuler"
            android:id="@+id/button2"
            android:layout_alignTop="@+id/button4"
            android:layout_toRightOf="@+id/textView4"
            android:layout_toEndOf="@+id/textView4"
            android:onClick="actionAnnuler"/>
     
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Appeler"
            android:id="@+id/button3"
            android:layout_alignParentBottom="true"
            android:layout_alignLeft="@+id/editText3"
            android:layout_alignStart="@+id/editText3"
            android:layout_marginBottom="76dp" />
     
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Supprimer"
            android:id="@+id/button4"
            android:layout_above="@+id/button3"
            android:layout_toRightOf="@+id/textView3"
            android:layout_toEndOf="@+id/textView3" />
     
    </RelativeLayout>
    Le layout activity_main
    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
    <?xml version="1.0" encoding="utf-8"?>
    <android.support.design.widget.CoordinatorLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
        android:layout_height="match_parent" android:fitsSystemWindows="true"
        tools:context=".MainActivity">
     
        <android.support.design.widget.AppBarLayout android:layout_height="wrap_content"
            android:layout_width="match_parent" android:theme="@style/AppTheme.AppBarOverlay">
     
            <android.support.v7.widget.Toolbar android:id="@+id/toolbar"
                android:layout_width="match_parent" android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" />
     
        </android.support.design.widget.AppBarLayout>
     
        <include layout="@layout/content_main" />
     
        <android.support.design.widget.FloatingActionButton android:id="@+id/fab"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin"
            android:src="@android:drawable/ic_dialog_email" />
     
    </android.support.design.widget.CoordinatorLayout>
    et le layout presentation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent">
     
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Text"
            android:id="@+id/textView2" />
    </LinearLayout>
    ainsi que le layout content_main
    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"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
        android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingBottom="@dimen/activity_vertical_margin"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        tools:showIn="@layout/activity_main" tools:context=".MainActivity">
     
        <TextView android:text="Hello World!" android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </RelativeLayout>
    Merci d'avance !!!

  2. #2
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Ton code n'a n queue ni tête. Notamment, l'utilisation de l'Adapter est totalement erroné. Il faut tout réécrire. As-tu lu un tutoriel à ce sujet ?
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 262
    Points : 634
    Points
    634
    Par défaut
    Dommage que ce soit aujourd'hui que tu dois remettre le dit projet !
    J'avais quand même mon mot à dire !
    Aujourd'hui apprenant, demain appreneur.
    N'accuse pas le puits d'être trop profond,
    c'est peut-être ta corde qui est trop courte

Discussions similaires

  1. Problème code de la fonction Rechercher et Remplacer
    Par LaPanic dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/06/2007, 17h10
  2. Problème code VBA :)
    Par Freygolow dans le forum Access
    Réponses: 4
    Dernier message: 17/05/2007, 15h43
  3. Probléme code C
    Par conceicao dans le forum C
    Réponses: 12
    Dernier message: 23/01/2007, 13h44
  4. Réponses: 6
    Dernier message: 23/12/2006, 12h46
  5. [Problème code] Afficher/Masquer div
    Par glloq8 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/03/2006, 14h18

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