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 :

Créer dynamiquement des boutons


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 20
    Par défaut Créer dynamiquement des boutons
    Bonjour,

    J'ai une application pour tablettes android à faire, et pour celà j'ai besoin de lire des fichiers HTML dans une webView. Seulement le problème c'est que j'ai besoin de beaucoup de fichier HTML (80-100) et qu'il faudrait créer des boutons dynamiquement en fonction des fichier HTML trouvé. Quelqu'un aurait une idée de comment je pourrais faire ça?

    Merci d'avance à tout ceux qui m'aideront!

  2. #2
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 970
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 970
    Par défaut
    Tu peux très bien créer des boutons ou tous autres contrôles avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Button btn  = new Button(...)

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 20
    Par défaut
    Je sais comment créer des boutons, mais ce que je veux c'est qu'ils se créer en regardant quels sont les fichiers HTML il y a. Comme ça, avec un logiciel de mise a jour, on pourras créer de nouveau bouton juste en ajoutant un fichier HTML.

    Si par exemple, il voit un bouton "Présentation.html", il créer un bouton qui s'appelle "Présentation" et quand on clique dessus ça charge le fichier dans la webView

  4. #4
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 970
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 970
    Par défaut
    Et d'où proviennent tes fichiers html?

    Tu as besoin d'une sorte de listener/notification/receiver qui est à l'écoute et lorsque quelque-chose arrive (un événement, une page arrive...), il fait un traitement.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 20
    Par défaut
    Edit : Mes fichier HTML sont créé localement, ils sont dans le dossier assets. Plus tard je verrais pour faire la mise à jour depuis un logiciel d'administration, mais pour l'instant mes fichier HTML sont créer en local.

    En fait mon application présente mon IUT. Pour chaque formations il y a des boutons pour la présentation, la poursuite d'étude,... Chaque bouton change le fichier HTML lu dans la webView. J'aimerais pouvoir créez ces boutons en fonction des fichier HTML. L'un des problème c'est qu'il faut mettre les fichier HTML dans le même dossier, je ne peut pas lire de fichier dans assets/unDossier ou alors je ne sais pas comment faire.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 20
    Par défaut
    J'utilise cette méthode pour lire mes fichiers HTML :

    Je les range dans un tableau pour commencer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    final String[] tab = new String[9];
            tab[0] = "file:///android_asset/info/dutinformatique_presentation2.html";
            tab[1] = "file:///android_asset/DutInformatique_Conditions.html";
            tab[2] = "file:///android_asset/DutInformatique_Objectifs.html";
            tab[3] = "file:///android_asset/DutInformatique_Enseignement.html";
            tab[4] = "file:///android_asset/DutInformatique_Poursuite.html";
            tab[5] = "file:///android_asset/DutInformatique_Metiers.html";
            tab[6] = "file:///android_asset/DutInformatique_Chiffres.html";
            tab[7] = "file:///android_asset/DutInformatique_Contact.html";
            tab[8] = "file:///android_asset/DutInformatique_Inscription.html";
    Ensuite j'initialise la webView :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    web = (WebView) findViewById(R.id.webView);
     
    web.clearCache(true);
            web.setWebViewClient(new WebViewClient());
            web.getSettings();
            web.loadUrl(tab[0]);
    puis dans les écouteur, je modifie le fichier chargé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    final Button presButton = (Button) findViewById(R.id.info_pres);
     
    presButton.setOnClickListener(new View.OnClickListener() { 
                public void onClick(View v) {
                    web.loadUrl(tab[0]);
                    scroll.scrollTo(0, 0);
                    pos = 0;
                }
              });
    Le "pos" c'est un attribut qui me sert a savoir quel fichier j'ai chargé en dernier.

  7. #7
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 970
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 970
    Par défaut
    Ne travaille pas avec un tableau fixe si ça devient dynamique.

    Utilise un ArrayList (comme dans un topic d'aujourd'hui)

    Rem: on peut lire les fichiers un peu partout sur sdcard.
    Donc tu pourrais très bien avoir une arborescence de fichiers html si tu le désires.

    Pour avoir ta liste de boutons, comme tu vas employer un ArrayList
    tu peux très bien créer une listview (y afficher un bouton par élément de ton arraylist) et le tour est jouer.

    Suffit d'afficher cette listView "à la demande" (refresh) de l'utilisateur et tu n'auras pas besoin de listener...

Discussions similaires

  1. Créer dynamiquement des boutons à bascule
    Par Zuthos dans le forum IHM
    Réponses: 2
    Dernier message: 02/08/2012, 15h11
  2. MFC : comment créer dynamiquement des boutons?
    Par olator dans le forum Mobiles
    Réponses: 0
    Dernier message: 23/10/2008, 19h05
  3. Réponses: 1
    Dernier message: 17/04/2007, 14h43
  4. [D5] Créer dynamiquement des variables dans une fonction
    Par MelkInarian dans le forum Delphi
    Réponses: 11
    Dernier message: 14/04/2007, 12h16
  5. Réponses: 2
    Dernier message: 31/08/2002, 14h00

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