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 :

Différentes Views sur la même activité ?


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Par défaut Différentes Views sur la même activité ?
    Bonjour,

    Dans une activité je récupère des articles de mon site (texte, photos) grâce à un parser Json et ensuite que j'adapte dans une ListView.

    Cependant pour la version "tablette", pour des raisons de design j'aimerais afficher mes articles sous forme de GridView mais que ca soit la même activité.

    Comment puis je utiliser deux vues différentes dans le même AsyncTask en fonction de la taille de l'écran ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    malistview.setAdapter(..................);
    mongridView.setAdapter(.................):
    Cordialement

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Le point commun c'est AdapterView....

    Solution 1 (la plus générique):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    AdapterView av = (AdapterView) findViewById(...);
    av.setAdapter(av);
    Solution 2 (en fait comme la 1, avec possibilité de mettre d'autres propriétés spécifiques):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    View v = findViewById(...);
    if (v instanceof GridView) {
        ((GridView)v).setAdapter(...); 
    } else if (v instanceof ListView) {
        ...
    }
    Solution 3 (la plus adaptée si il risque d'y avoir changement de 'type' à la rotation, pour éviter que l'appli ne foire en attendant un ListView sur le même ID qu'un GridView):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    View v = findViewById(R.id.listView);
    if (v != null) {
       ((ListView)v).setAdapter(....);
    }
    v = findViewById(R.id.gridView);
    if (v != null) {
      ((GridView)v).setAdapter(....);
    }

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/06/2015, 11h23
  2. Tracer différentes courbes sur un même graphe
    Par aymenvictoire dans le forum MATLAB
    Réponses: 1
    Dernier message: 22/05/2013, 20h33
  3. [VxiR2] gestion de différentes requêtes sur un même rapport
    Par patrice56 dans le forum Webi
    Réponses: 2
    Dernier message: 20/05/2009, 09h08
  4. Lancer différents serveurs sur un même port TCP.
    Par nouknouk dans le forum Debian
    Réponses: 13
    Dernier message: 03/06/2008, 19h44
  5. Réponses: 3
    Dernier message: 13/07/2007, 14h59

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