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 : modifier Visibilité d'un custom component depuis Activité enfante.


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Par défaut Problème : modifier Visibilité d'un custom component depuis Activité enfante.
    Bonjour. Voilà je suis novice en développement Android, et je rencontre actuellement une difficulté pour modifier la visibilité d'un custom component depuis une activité enfante. Pour faire simple, j'ai une activité dans laquelle sont superposées verticalement plusieurs custom components.
    Seul un custom component est affiché, les autres sont en Visible.Gone.
    Par défaut le custom component affiché et celui des commandes. Un clic sur les différents controles va provoquer l'affichage du component associé et masquer le custom control commande.
    Le problème que je rencontre est que pour une des commandes, j'ai choisi d'ouvrir une nouvelle "fenêtre" qui embarque un mapfragment. Sur cette fenetre figure un bouton "Reduire" censé masquer sur l'activité parente tous les customs component et affiché un custom component mini map. Mon problème est que lorsque je clique sur le bouton l'activité est bien fermé, et tous les composants sur le parent disparaissent comme souhaité. Par contre ma mini map ne s'affiche pas. J'ai mis un log pour voir la valeur de la propriété visibility et celle ci est bien considérée comme Visible.

    S'agissant du code, ma view parente qui contient les différents custom component :

    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
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="fill_parent" >
        <!-- Le layout qui contient l'ensemble des vues -->
    	<LinearLayout 
    	    android:layout_height="fill_parent"
    	    android:layout_width="fill_parent"
    	    android:orientation="vertical">
     
    	    <com.android.sowiz.MenuUserControl
    	        android:gravity="center_vertical|center_horizontal"
    	        android:id="@+id/layoutroot"
    	        android:layout_width="fill_parent"
            	android:layout_height="wrap_content"
    		    android:visibility="visible"    	
    	        />
    	    <com.android.sowiz.ToolMap 
    	        android:gravity="center_vertical|clip_horizontal"
    	        android:id="@+id/mapembedded"
    	        android:layout_width="fill_parent"
            	android:layout_height="fill_parent"
    		    android:visibility="gone"    	
    		    />
    	    <com.android.sowiz.GestionMessages
    	        android:gravity="center_vertical|clip_horizontal"
    	        android:id="@+id/messagerie"
     
    	        android:layout_width="fill_parent"
            	android:layout_height="fill_parent"
    		    android:visibility="gone"    	
    	        />
     
    	    <com.android.sowiz.GestionCalendrier
    	        android:gravity="center_vertical|clip_horizontal"
    	        android:id="@+id/calendrier"
    	        android:layout_width="fill_parent"
            	android:layout_height="fill_parent"
    		    android:visibility="gone"    	
    	        />
    	</LinearLayout>
     
    </RelativeLayout>
    L'activité correspondante :

    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
    protected void onCreate(Bundle savedInstanceState) {
     
    		super.onCreate(savedInstanceState);	
    		setContentView(R.layout.activity_myspace);
     
    		btnAffichageMap=(ImageButton)findViewById(R.id.BtnShowMap);
     
    		maptool=(RelativeLayout)findViewById(R.id.maptool);
    		commandes=(RelativeLayout)findViewById(R.id.layoutroot);
    		btnAffichageMap.setOnClickListener(new OnClickListener() {
     
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				Intent intent = new   Intent(MySpaceActivity.this,ToolMapActivity.class);
    				startActivityForResult(intent, CODE_RETOUR);
    			//	
    			}
    		});	
    	}
    Dans le fenêtre qui s'est ouverte, dans le Oncreate de mon activité :

    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
    btnReduireMap=(Button)findViewById(R.id.BtnReduireCarte);
     
     
    		btnReduireMap.setOnClickListener(new OnClickListener() {
     
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				Intent intent = new Intent();
    				intent.putExtra("Reduction", true);
    				// On retourne le résultat avec l'intent
    				setResult(RESULT_OK, intent);
    				finish();
    			}
    		});
    Et la méthode qui reçoit le resultat du clic sur le bouton dans l'activité enfante:

    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
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     
        // Vérification du code de retour
     
        if(requestCode == CODE_RETOUR) {
     
        // Vérifie que le résultat est OK
     
        	if(resultCode == RESULT_OK) {
     
        		Boolean visibilitemap = data.getBooleanExtra("Reduction", true);
     
        		if (visibilitemap)
    		   {
        			if (commandes.VISIBLE==View.VISIBLE)
        			commandes.setVisibility(View.GONE);
        			if (messagerie.VISIBLE==View.VISIBLE)
        			messagerie.setVisibility(View.GONE);
        			if (calendrier.VISIBLE==View.VISIBLE)
        			calendrier.setVisibility(View.GONE);
        			if (maptool.VISIBLE==View.GONE | maptool.VISIBLE==View.INVISIBLE)
        			{
        				maptool.setVisibility(View.VISIBLE);
     
        			}
     
        			if (maptool.VISIBLE==View.GONE | maptool.VISIBLE==View.INVISIBLE)
        				 Log.e("ok", "outil map non visible");
        				 else
        					 Log.e("ok", "outil map affiché");
     
     
    		   }
     
        	}
        }
     
        }
    Voilà, en espérant que mon poste ne soit pas trop indigeste et qu'une ame charitable entendra mon appel à l'aide.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Par défaut
    Paye ton noob. Je récupérais le mauvais controle dans le onCreate avec le findViewById. Avec le bon id, ça marche bcp mieux. Dsl pour le dérangement.

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

Discussions similaires

  1. Problème avec un Custom component
    Par Mathieu.J dans le forum JSF
    Réponses: 5
    Dernier message: 28/05/2008, 14h04
  2. Problème methodBinding dans un custom component
    Par caipirinha dans le forum JSF
    Réponses: 2
    Dernier message: 14/03/2007, 10h28
  3. problème de visibilité des variables dans un include
    Par d1g-2-d1g dans le forum Langage
    Réponses: 6
    Dernier message: 28/11/2005, 09h35
  4. [EasyPHP] problème de visibilité des variable dans les includes
    Par d1g-2-d1g dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 23/10/2005, 01h55
  5. [JSF] mon premier custom component
    Par anitshka dans le forum JSF
    Réponses: 5
    Dernier message: 14/06/2005, 13h31

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