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 :

include + layout + code Java associé


Sujet :

Composants graphiques Android

  1. #1
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut include + layout + code Java associé
    Bonsoir,

    J'utilise plusieurs include dans mes layouts pour inclure un menu identique présent dans la plupart des vues de mon application.
    Ce menu contien des boutons, les lignes de code java se répètent dans chaque activité qui inclue ces boutons.

    Comment puis je faire svp, pour ne déclarer ces boutons et leurs actions qu'une seule fois ?

  2. #2
    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 : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Tu crées une Activity (ou un Fragment) où tu mets les codes en question et tu fais en sorte que toute tes Activity (ou Fragment) héritent d'elle
    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

  3. #3
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    ah oui mince, je n'y avais pas pensé.

    mercii !

  4. #4
    Membre expérimenté Avatar de Altak
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 170
    Par défaut
    Ou sinon,
    tu créer une customView qui englobe tout (le code Java + le layout) et tu utilise ta classe dans tes layouts

    GL HF

  5. #5
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    Ou sinon, tu créer une customView qui englobe tout (le code Java + le layout) et tu utilise ta classe dans tes layouts.
    utile aussi, quand on ne connait pas

    Sinon j'ai créer une class (selon la méthode d'Hizin) pour faire hériter mes activités qui contiennent des références & actions sur des boutons, comme des intent.

    Cependant lorsque j'utilisais les intent, je renseignais le nom de l'activité en cours, mais là si je souhaite utiliser l'héritage d'une autre activité il faudrait que je fasse référence à l'activité en cours ... ce que je n'arrive pas à faire.

    exemple :
    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
            final Button bv1 = (Button) findViewById(R.id.button);
            bv1.setOnClickListener(new View.OnClickListener()
    
                                   {
    
                                       //@Override
                                       public void onClick(View v) {
                                           Intent intent = new Intent(MActivity.class, testActivity.class);
                                           startActivity(intent);
                                       }
    
                                   }
    
            );
    C'est le 'MActivity.class' que je n'arrive pas à définir pour qu'il prenne l'activité en cours. Je crois qu'il faudrait utiliser .this ou avec context mais je n'y parviens pas.

    Quelqu'un pourrait me dire plz ?

  6. #6
    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 : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    En général, on utilise "this" pour référencer l'instance courante de la classe.
    Ici, tu te trouves dans un "cas particulier" : à l'intérieur d'une classe anonyme englobée dans une classe. Dans ce contexte, pour faire référence à l'instance de la classe englobante, tu dois passer par MaClasseEnglobante.this.
    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

  7. #7
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    J'ai donc essayé de créer cette classe englobante mais suis face à quelques problèmes:

    -| Problème au niveau des layouts
    -Le layout de la classe englobante contient un include (2 boutons et un textview) qui sera présent donc dans chaque activité
    -Le layout de la class qui en hérite contient un menu composé de 4 boutons qui doit se trouver en dessous de l'include précédent.

    -| Problème au niveau de la police d'écriture
    -Les textes de boutons et du textview ont une police spéciale que je n'arrive pas à appliquer avec l'héritage

    -| Problème au niveau du textview de la classe englobante, je voudrais utilisé ce tv pour afficher le titre de l'activité en cours, mais comment faire un titre différent pour chaque activité sachant que le textview est dans la classe englobante.

    Voilà le projet en archive testMainDesign.rar - 3.9 MB ou içi

    Merci pour votre aide.

    Ps: L'upload avec le gestionnaire de pièces jointes dvlpz ne marche pas avec le projet rar.

  8. #8
    Membre expérimenté Avatar de Altak
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 170
    Par défaut
    Bonjour,

    Ton lien me dirige sur un site ou je dois payer (?) pour télécharger ton .rar ... :s

    Je t'invite a regarder la doc Android pour faire des custom view :
    http://developer.android.com/trainin...ews/index.html

    Si tu as des questions,je serais dispo a partir de lundi (je ne regarde pas beaucoup ma boite mail le week end).

    GL HF

  9. #9
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    Bonjour,

    Je viens d'essayer moi même, en effet il parle de payer au début mais le bouton 'générer le lien de téléchargement' fonctionne bien.

    J'ai reup également sur un autre uploader au cas où cela ne fonctionnerait vraiment pas sans payer (pourtant je viens de tester).

    nouveau lien --> En bas de page, accéder aux téléchargements.

    Merci de ta réponse, je regarde cette doc et le sample.

  10. #10
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    J'ai tester le sample des customs view de la doc que tu m'as fourni, j'ai le droit à un beau diagramme circulaire qui peut tourner et ce en récompense d'avoir palier comme je le pouvais à une erreur: de 'showText' already defined, mais bon çà m'a donné une idée pour autre chose donc thks

    Dans Android Studio, j'ai vu également qu'il y avait beaucoup de types de customviews dans la palette.
    En parcourant la doc j'ai vu qu'on définissait des attributs pour personnaliser des éléments d'une vue (si j'ai bien compris) mais je t'avoue avoir vraiment du mal à associer mon problème avec ces customs views.

    Si vous pouviez me donner un exemple juste pour mon titre par exemple, je réussirais peut être à adapter la technique pour le reste du design commun.

    PS: le projet ne peut se mettre en pièce jointe sur developpez car il est trop lourd, même après compression max.

  11. #11
    Membre expérimenté Avatar de Altak
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 170
    Par défaut
    Bonjour,

    Les customView sont intéressante pour regrouper des morceaux de vues (au même titre que les fragments mais en plus local).

    Par exemple:
    J'ai un menu avec 3 Buttons et une ImageView admettons.
    Lorsque je clic sur un de mes Button, ca set l'image de mon ImageView (l'image est différente en fonction du Button).
    Admettons aussi que je ne peux pas cliquer sur mon Button 3 sans avoir cliqué sur mon Button 1 et 2 avant.
    Et pour finir, si je clic sur mon ImageView, ca appel une fonction de mon Activity (pour changer de fragment par exemple).


    Le problème, c'est que ce menu apparait dans plusieurs de mes fragments (disons une bonne moitié) et je n'ai pas envie de refaire tout le temps mes listener et mes vérifications...

    Je vais donc créer une customView

    Je commence par mon layout :

    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
     
     
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="300dp"
        android:layout_height="375dp"
        android:layout_margin="5dp"
        android:background="@drawable/hypred_produit_nine_patch"
        android:orientation="vertical">
     
        <ImageView
            android:id="@+id/layout_imageview"
            android:layout_width="wrap_content"
            android:layout_height="200dp"
            android:layout_gravity="center"
            android:adjustViewBounds="true"
            android:contentDescription="@null"/>
     
     
           <Button
               .
               .
               ./>
     
     
           <Button
               .
               .
               ./>
     
     
           <Button
               .
               .
               ./>
     
    </LinearLayout>

    Je fais ensuite mon 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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
     
    public class MyCustomView extends LinearLayout {
     
         private View v = null; //contiens la vue de ma customView
     
    //Je définie les trois constructeur necessaire a une View et j'appel dedans la fonction init() qui va me permettre d'initialiser la vue et les listener
        public MyCustomView (Context context, AttributeSet attrs) {
            super(context, attrs);
            init();
        }
     
        public MyCustomView (Context context, AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
            init();
        }
     
        public MyCustomView (Context context) {
            super(context);
            init();
        }
     
        /**
        ** Mon ImageView a catch l'event onClick()
        */
        private void imageClick() {
              BaseActivity act = (BaseActivity) getContext(); //La class BaseActivity est une class qui hérite de Activity et dont toute mes activity hérite.
     
              //Je fais mes vérifications et appel mon activity avec les bons paramètre (ou sans param si besoin)
     
             act.functionToCall(param1, param2, ...);
     
        }
     
        private void init() {
             v = inflate(getContext(), R.layout.my_custom_view, this); // j'inflate ma vue et je la lie a ma Class CustomView en passant "this" en dernier paramêtre
     
             /*
     
             J'ajoute tout mes listener et mes vérifications
             Pour être propre, je fais le traitement de mes event obClick() dans d'autre fonction private de ma CustomView que j'aurais créé
             (J'en profite pour préciser qu'une classe correctement découpé ne doit pas contenir de fonction de plus d'une 20éne de ligne)
     
             */
     
            ImageView img = (ImageView) v.findViewById(R.id.layout_imageview);
            img.setOnClickListener(new OnClickListener() {
                  void OnClick() {
                       imageClicked();
                 }
            });
       }
     
    }
    Donc maintenant que j'ai fait ma customView, dans mes xml j'ai juste besoin de mettre :

    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
     
     
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="300dp"
        android:layout_height="375dp"
        android:layout_margin="5dp"
        android:background="@drawable/hypred_produit_nine_patch"
        android:orientation="vertical">
     
        <chemin.complet.du.package.MyCustomView
            android:id="@+id/menu"
            android:layout_width="wrap_content"
            android:layout_height="match_parent" />
    </LinearLayout>
    et je n'ai pas besoin de refaire toute mes vérifications, n'y de refaire mon layout à chaque fois.

    J'ai pris un exemple un peu complex pour te montrer une customView un minimum complete...
    Si tu as des questions sur l'exempl

    J'ai fais le code de tête donc ne t'attarde pas trop si j'ai fais des erreur sur la déclaration de certaine fonction...

    GL HF

    PS: J'ai pas pris le temps de regarder ton projet (je suis au boulot) ,je ferais cela ce soir

  12. #12
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    Ton exemple est super ! je commence à comprendre certaines choses.
    Voilà le projet Android Studio avec ton code où j'ai commenté 1 ou 2 petites choses pour que çà compile, dispo içi ou içi:

    Il est composé de (t'aura pas du tout de mal a le comprendre c juste si il y a des choses bizarres j'espère que tu me le diras):

    Activity&Class:
    • MainActivity: Activity qui affiche le layout avec le link vers la customView <customviews.android.example.com.testcustomviewdvlpz.MyCustomView [...] />
    • MyCustomView: La class de la customView que tu m'as donnée en exemple
    • ReceiveActivity: Activity qui est appelé lorsque l'on appuie sur le bouton1 (comme çà j'ai vu que je pouvais récupérer le bouton et l'utiliser )


    Layout:
    • activity_main: layout avec le link vers la customView
    • duplicatecontent: layout de la customView (donc le contenu qui peut être dupliqué)
    • activity_receive: le layout de l'activité qui est appelé en cas de réussite du bouton1


    Mais j'ai plusieurs questions du coup:

    -J'ai utilisé la customView qui m'a permis d'afficher un morçeau de mon design(dans le projet les 3 boutons) qui se met à jour automatiquement lorsque je le modifie, et je suis happy pour çà , mais , lorsque je veux déclarer et définir les boutons et leurs événements je ne peux pas le faire dans CustomView car c'est une Class standard et non une Class activity.
    En conséquence je dois copier/coller tous le code java concernant les actions des boutons dans chaque activity qui affichera la customView.
    Je pense que je dois pouvoir faire hériter cette class CustomView d'activity et mettre les événements dedans mais je voudrais que tu me le confirmes ?

    -D'autre part je n'ai pas réussi à faire fonctionner ce changement d'image, mais ce n'est pas bien grave.
    Du coup je l'ai commentée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private void imageClick() {
            //BaseActivity act = (BaseActivity) getContext(); //La class BaseActivity est une class qui hérite de Activity et dont toute mes activity hérite.
     
            //Je fais mes vérifications et appel mon activity avec les bons paramètre (ou sans param si besoin)
            //act.functionToCall(param1, param2, ...);
     
        }
    et je pense que ce code est inutile(si le changement d'images ne marchent pas) mais je l'ai laissé quand même:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ImageView img = (ImageView) v.findViewById(R.id.layout_imageview);
            img.setOnClickListener(new OnClickListener() {
                public void onClick(View view) {
                    imageClick();
                }
            });
    Mais c'est ces 2 fonctions, je ne comprend pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private void imageClick() {
            //BaseActivity act = (BaseActivity) getContext(); //La class BaseActivity est une class qui hérite de Activity et dont toute mes activity hérite.
     
            //Je fais mes vérifications et appel mon activity avec les bons paramètre (ou sans param si besoin)
            //act.functionToCall(param1, param2, ...);
     
        }
    et celle ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private void init() {
            v = inflate(getContext(), R.layout.duplicatecontent, this); // j'inflate ma vue et je la lie a ma Class CustomView en passant "this" en dernier paramêtre
    merci d'avoir pris de ton temps

  13. #13
    Membre expérimenté Avatar de Altak
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 170
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    private void init() {
            v = inflate(getContext(), R.layout.duplicatecontent, this); // j'inflate ma vue et je la lie a ma Class CustomView en passant "this" en dernier paramêtre
    Cette ligne la permet de créer la vue que tu souhaite.
    Si c'est plus simple pour toi, tu peux faire comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    View v = inflate(getContext(), R.layout.duplicatecontent, this);
    La classe "View" est ne classe très generaliste dans Android. Tout ce que tu affiche a ton écran hérite de prêt ou de loin de cette classe.
    Ce qui est bien avec cette classe, c'est qu'elle possède une méthode findViewById() (comme ton activity).
    Du coup, tu peux récupérer les références de tes boutons directement dans la fonction init depuis cette View.

    Pour récupérer une instance de ton activity, il faut que tu fasse comme j'ai fait dans la fonction imageClick().
    Il faut savoir que tu as différent context dans Android. Mais le context d'une classe View correspond a l'Activity a laquelle elle est rattaché.
    Du coup, tu peux récupérer une référence de ton Activity grâce au getContext().

    Au final, tu as un code comme cela :

    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
     
    private void buttonOneClick() {
         Activity act = (Activity) getContext();
     
        act.functionToCall();
    }
     
    private void init() {
    View v = inflate(getContext(), R.layout.duplicatecontent, this);
    Button button1 = (Button) v.findViewById(R.id.button1);
            button1.setOnClickListener(new View.OnClickListener()
                                    {
                                        //@Override
                                        public void onClick(View v) {
                                            buttonOneClick();
                                        }
     
                                    }
            );
    }

    Pour finir, je voudrais préciser que le JAVA Android est un langage objet. Imagine que chaque classe que tu créer est un objet propre.
    Tu ne dois surtout pas exporter des fonctionnalité de ton objet dans d'autre objet (est ce que tu trouverais logique que le volant de ta voiture se trouve dans ta maison?).
    Ce que tu as fait dans ton exemple (ajouter le listener dans ton activity) n'est pas correct. Lorsque tu créer une customView, c'est a elle de s'occuper de gérer ce qui se passe dans ce morceau de vue (et a appeler l'activity si besoin).

    GL HF!

    PS: Si tu as besoin d'aide en direct, je suis assez souvent sur le chat dans le channel "Développement Général"

  14. #14
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    Oulala des vrais météores de pégase tes réponses, hélas je n'ai pas encore mon armure mais j'arrive à comprendre de nouvelles choses

    Je vais tester çà en fin de journée, en te remerciant encore une fois.

    PS: c'est une très bonne idée pour le chat, je n'y manquerai pas

  15. #15
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    J'ai réussi en suivant ce que tu m'avais dit, en construisant la méthode buttonOneclick() et en l'appelant dans private void init().

    Voilà ce que j'ai fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private void buttonOneClick() {
            Activity act = (Activity) getContext();
            Intent intent = new Intent(act , ReceiveActivity.class);
            act.startActivity(intent);
        }
    Peux tu me confirmer si c'est bien comme çà stp, que je passes en résolu ?

  16. #16
    Membre expérimenté Avatar de Altak
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 170
    Par défaut
    Bonjour,

    C'est bien ca
    Tu as pu faire fonctionner une CustomView du coup?


    GL HF

  17. #17
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    oui j'ai réussi mais voilà je bloque sur certaines choses, voilà ce que je veux faire :

    Nom : app.png
Affichages : 383
Taille : 2,8 Ko

    J'ai donc fait 3 customview (header, footer et le menu du milieu).

    2 problèmes se posent pour moi.

    D'une part pour la partie header, j'ai plusieurs choses dont un textview qui affiche le nom de l'activity en cours; j'ai pensé à plusieurs choses comme faire un tableau des noms d'activity ou utiliser un truc du style monActivity.getNamePerso() mais bon je vois pas plus loin.
    Comment procéder pour que cela m'affiche le bon titre dans chaque activité stp ?

    D'autre part, j'ai un menu qui possèdent çà comme caractéristiques :
    -les boutons ont une police d'écriture pour leur texte
    -la plupart des activity de mon application contiennent un menu similaire à celui ci , à part qu'il peut varier d'un ou deux boutons en plus ou en moins en fonction de l'activity.
    -les boutons des différentes activity n'ont pas le même texte.
    -les boutons des différentes activity ne font pas les mêmes actions.

    En fait ce que je cherche à faire, c'est de m'affranchir de déclarer des buttons dans chaque layout de toutes mes activity et de leur assigner une police, est ce que c'est possible de faire çà avec les customview ?
    Je me suis dit oui mais bon si je fais une customview pour chaque menu qui comportent des boutons qui eux-mêmes pointent vers des actions différentes ...

    voilà où j'en suis si

  18. #18
    Membre expérimenté Avatar de Altak
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 170
    Par défaut
    Bonjour,

    Pour ton Header, tu peux avoir le nom du activity avec la fonction : act.getClass().getSimpleName();
    Je suis pas certains a 100% que cela va fonctionner car tu cast ta class depuis le context mais sinon, tu peux passer par un TAG que tu met dans chacune de tes activity (faudra que tu passe par une classe intermédiaire sans doute)


    Pour ton menu, le plus simple je pense serais de passer par des attributs custom et en fonction de ces attributs afficher tel ou tel layout (tu aurais donc un layout/menu mais une seule classe pour les gérer tous).
    Les attributs custom, c'est assez chiant a expliquer (pour moi), on en reparle lundi si tu le souhaite
    Et pour le coup, ca serais mieux de passer par le chat, ca va être galère de t'expliquer par message interposé ^^

    Dans tout les cas, félicitation pour ton avancement, les customView sont une part assez pointue dans Android

    GL HF

  19. #19
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    on en reparle lundi si tu le souhaite
    Oui sans souci.

    félicitation pour ton avancement
    Merci mais c'est grâce à toi

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/09/2012, 16h31
  2. Code Java pour montrer association/aggrégation/composition
    Par router_ dans le forum Général Java
    Réponses: 5
    Dernier message: 15/07/2010, 22h38
  3. [andromda]Infos sur andromda, générateur de code JAVA
    Par ugos dans le forum EDI et Outils pour Java
    Réponses: 5
    Dernier message: 08/09/2009, 15h30
  4. Recherche de Logiciel d'audit de code java
    Par K-ro dans le forum Qualimétrie
    Réponses: 4
    Dernier message: 12/10/2004, 17h54

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