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 :

probleme tuto hello views


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 32
    Par défaut probleme tuto hello views
    Bonjour,

    J'ai un probleme avec le tuto Hello Views : http://developer.android.com/guide/t...-listview.html

    J'ai suivi les etapes pas a pas, mais il y a une erreur a la ligne :

    lv.setOnItemClickListener(new OnListItemClick() {

    OnListItemClick est sous-ligné en vagues rouges et Eclipse me propose 4 trucs :

    1. Créer la classe OnListItemClick
    2. Créer l'interface OnListItemClick
    3. Change to OnListItemClickListener (Android.widget.AdapterView)
    4. Fix project setup


    Et sinon le but de mon programme serait de démarrer une nouvelle activité quand on clique sur un item. Et je ne sais pas trop comment faire.


    Merci !!

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 182
    Par défaut
    Voila le code :
    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
     
    package com.android.listview;
     
    import android.app.Activity;
    import android.app.ListActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.TextView;
    import android.widget.Toast;
    import android.widget.AdapterView.OnItemClickListener;
     
    public class ListView extends ListActivity {
    	 static final String[] COUNTRIES = new String[] {
    		    "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
    		    "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina",
    		    "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan",
    		    "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium",
    		    "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia",
    		    "Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory",
    		    "British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burundi",
    		    "Cote d'Ivoire", "Cambodia", "Cameroon", "Canada", "Cape Verde",
    		    "Cayman Islands", "Central African Republic", "Chad", "Chile", "China",
    		    "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo",
    		    "Cook Islands", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czech Republic",
    		    "Democratic Republic of the Congo", "Denmark", "Djibouti", "Dominica", "Dominican Republic",
    		    "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea",
    		    "Estonia", "Ethiopia", "Faeroe Islands", "Falkland Islands", "Fiji", "Finland",
    		    "Former Yugoslav Republic of Macedonia", "France", "French Guiana", "French Polynesia",
    		    "French Southern Territories", "Gabon", "Georgia", "Germany", "Ghana", "Gibraltar",
    		    "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau",
    		    "Guyana", "Haiti", "Heard Island and McDonald Islands", "Honduras", "Hong Kong", "Hungary",
    		    "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica",
    		    "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Kuwait", "Kyrgyzstan", "Laos",
    		    "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg",
    		    "Macau", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands",
    		    "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova",
    		    "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia",
    		    "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand",
    		    "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "North Korea", "Northern Marianas",
    		    "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru",
    		    "Philippines", "Pitcairn Islands", "Poland", "Portugal", "Puerto Rico", "Qatar",
    		    "Reunion", "Romania", "Russia", "Rwanda", "Sqo Tome and Principe", "Saint Helena",
    		    "Saint Kitts and Nevis", "Saint Lucia", "Saint Pierre and Miquelon",
    		    "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Saudi Arabia", "Senegal",
    		    "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands",
    		    "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "South Korea",
    		    "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard and Jan Mayen", "Swaziland", "Sweden",
    		    "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "The Bahamas",
    		    "The Gambia", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey",
    		    "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Virgin Islands", "Uganda",
    		    "Ukraine", "United Arab Emirates", "United Kingdom",
    		    "United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan",
    		    "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Wallis and Futuna", "Western Sahara",
    		    "Yemen", "Yugoslavia", "Zambia", "Zimbabwe"
    		  };
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, COUNTRIES));
            android.widget.ListView lv = getListView();
            lv.setTextFilterEnabled(true);
     
            lv.setOnItemClickListener(new OnItemClickListener() {
              public void onItemClick(AdapterView<?> parent, View view,
                  int position, long id) {
                // When clicked, show a toast with the TextView text
                Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
                    Toast.LENGTH_SHORT).show();
              }
            });
     
     
     
     
     
        }
     
        public void onListItemClick(ListView parent, View v, int position, long id){
        	Toast.makeText(getApplicationContext(), position,
                    Toast.LENGTH_SHORT).show();
        }
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Par défaut
    pour démarrer une nouvelle activity sur le click sur un item, ajoute simplement les lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	Intent monIntent = new Intent(this,MonAutreActivite.class);
    startActivity(monIntent);
    dans la méthode onClick du listener...

  4. #4
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    En n'oubliant pas de déclarer cette nouvelle activité dans le manifest

  5. #5
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 32
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
        public void onListItemClick(ListView parent, View v, int position, long id){
        	Toast.makeText(getApplicationContext(), position,
                    Toast.LENGTH_SHORT).show();
            Intent monIntent = new Intent(this,DetailsProject.class);
            startActivity(monIntent);
     
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    public class DetailsProject extends ListActivity
    {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            TextView tv = new TextView(this);
            tv.setText("Projets\n");
            setContentView(tv);
        }
    }

    Merci tout le monde !! Par contre ca reste toujours sur la meme activity. J'ai bien rajouter les 2 lignes, mis a jour le Manifest, et creer ma classe DetailsProject.

    Sinon j'ai lu quelque part qu'avec les intents on pouvait passer des informations d'une activity à l'autre, c'est bien ca ?


    Merci encore !!

  6. #6
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Salut,

    Quand tu dis que ça reste sur la même activité, ça veut dire quoi ?
    La même vue s'affiche, ou c'est vraiment la même activité qui est relancée ?

    Peut tu nous donner ici le code du manifest, le code des vues XML de tes activités ?

    Merci.

  7. #7
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 32
    Par défaut
    La même vue s'affiche.

    Voici les parties de code :

    Manifest :

    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          android:versionCode="1"
          android:versionName="1.0" package="com.android.listview">
        <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name=".ListView"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".DetailsProject"
                      android:label="@string/app_name">
            </activity>
        </application>
    </manifest>
    Vue list_item.xml de la premiere activité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?xml version="1.0" encoding="utf-8"?>
    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="10dp"
        android:textSize="16sp" >
    </TextView>
    C'est la seule vue que j'ai, je suppose que je dois en créer une aussi pour la seconde activité. Je ne comprend pas comment une vue est liée à une activité, c'est à dire comment la première activité sait que sa vue est list_item.xml.

    En gros dans ma seconde activité, j'aurais des détails de l'item sur lequel on clique : 2 ou 3 titres avec des petits textes.

    Le problème viendrait-il de la vue manquante ?


    Merci

  8. #8
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Oui, à mon avis, ta seconde activité se charge bien, mais la vue xml est la même donc, tu ne vois pas de différence.
    Pour "associer" ton activité à une vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setContentView(R.layout.main);
    main.xml est une vue xml.

    Si je ne suis pas très claire, je te suggère fortement de regarder la documentation d'Android, et de suivre les tutoriels afin de comprendre ces notions de vue, activité, manifest, etc

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

Discussions similaires

  1. Probleme tuto SDL_Rwops
    Par Scheb dans le forum SDL
    Réponses: 1
    Dernier message: 14/06/2009, 20h06
  2. Probléme avec le tuto hello world
    Par alpha_one_x86 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 25/03/2009, 18h39
  3. Probleme tuto intermediaire
    Par Chanax dans le forum Ogre
    Réponses: 1
    Dernier message: 08/04/2008, 10h50
  4. [NetBeans] Probleme tuto netbeans4.1 et SJAS
    Par ms7 dans le forum NetBeans
    Réponses: 4
    Dernier message: 10/02/2006, 11h27
  5. probleme tuto
    Par Turgal dans le forum C
    Réponses: 2
    Dernier message: 20/11/2005, 12h51

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