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 :

Layout, bouton & android:onClick


Sujet :

Composants graphiques Android

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut Layout, bouton & android:onClick
    Salut!

    J'ai déjà cherché, mais je n'ai rien trouvé avec des critères aussi génériques...

    hypothèse:
    -> 1 layout A de la classe A.java
    -> 1 layout B de la classe B.java

    est ce qu'un bouton du layout B peut avoir 1 attribut onClick du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    android:onClick="A.fctClick"
    ?

    A priori, d'après mes tests, non!
    Mais il y a peut être une syntaxe particulière...

    Merci.

  2. #2
    Expert éminent

    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
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Non non, c'est d'ailleurs impossible....
    A quel objet de type "A" la fonction devrait être attachée ?

    L'attribut "onClick" du XML est géré pendant le setContentView, et utilise l'instance de l'activité en cours... Seules les méthodes publiques de cette instance peuvent être utilisées.

    Et puis de toute manière, coté "orienté objet" il y aurait là une dépendance entre la "vue" d'une activité et une autre activité ?
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Ca confirme ce que je pensais oui!

    Du coup, c'était ma dernière idée pour gérer "ma" problématique du moment:

    1) une barre d'outils au bas de toutes les activités s'enchaînant comme suit
    main -> fille1 -> fille2 -> fille3 -> fille4

    2) barre qui pour le moment comporte un bouton de géoloc (android:onClick="geoloc") & un bouton d'accès aux favoris (android:onClick="favoris")

    3) et les fcts java associées geoloc() & favoris() étant dans le main.java puisque pour le moment elle n'étaient appelées que depuis l'activité principale, et non les filles.

    Donc il faudrait que depuis la barre de fille3 on puisse lancer la géoloc par exemple...

  4. #4
    Expert éminent

    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
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    il suffit de faire hériter toutes les activtés d'une activité "parente" genre "ToolsActivity" qui va gérer la barre d'outils....
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Mes classes héritent déjà d'Activity et y a pas d'héritage multiple.

  6. #6
    Expert éminent

    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
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Ben quel est le problême ?

    Activity
    |
    ToolsActivity
    |
    MainActivity, Fille1Activity, ....
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Et donc main, et fille1 -> 4 hériteront donc de ToolsActivity et non plus de Activity!

    Ok, au moins pour la théorie... je vais creuser ça parce que là tout de suite, la pratique elle, me semble pas gagnée...

    Ou tu aurais 1 tuto/url sous la main?

  8. #8
    Expert éminent

    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
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Un tutoriel sur la programmation orientée objets ?

    http://rmdiscala.developpez.com/cours/
    Chapitre 5
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Non je pensais à un exemple de ce genre de toolbar, parce que là c'est flou dans l'application...... sans que je sache exactement ce qui est flou pour moi!

    J'ai commencé hier:
    -> class Toolbar extends Activity
    -> class fille2 extends Activity est passé à class fille2 extends Toolbar
    -> et là Eclipse m'insultait dans la déclaration de fille2.java avec une erreur à propos du constructeur de Toolbar

    Sauf qu'en écrivant cette description ce matin, je me rends compte que je n'ai plus cette erreur de compil(?)...

    Mais bon, je continue de creuser... au pire je trouverai du pétrole!

  10. #10
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Mouais, d'après mes 1ers tests CT tout con en fait, je cherchais de nouveau trop compliqué.

    Ca m'a l'air de pas mal marcher... mais ça m'évoque une autre question du coup!
    Comment expliquer?

    Contrairement à des fonctionnalités accessibles uniquement depuis l'activité MAIN, ici on a des fcts accessibles maintenant partout (MAIN+FILLEs)... l'utilisateur pouvant donc très facilement "boucler" dans le genre

    MAIN -> fille1 -> fille2 + toolbar favoris -> fille3 (favoris) + toolbar favoris -> fille3 (favoris) + toolbar favoris -> fille3 (favoris) + toolbar favoris -> fille3 (favoris) etc...

    Ce qui serait débile, je sais, mais un user reste un user...

    Ce qui à mes yeux peut poser 2 problèmes:
    -> les ressources empilées inutilement, voire même jusqu'à saturation?
    -> un nb incalculable d'appui sur la touche "précédent" pour revenir au MAIN

  11. #11
    Expert éminent

    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
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Rien ne t'empeche de spécifier que chaque activité ne doit être présente qu'une fois dans la pile:

    http://developer.android.com/guide/t...ent.html#lmode

    Ou sinon, de vérifier que l'activité courante n'est pas celle voulue (et ne rien faire dans ce cas là)....

    Un simple code du genre de (par exemple):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (fille1.class != getClass()) {
        // on n'est as dans une activité "fille1"
        createIntent(...);
        startActivity(...);
    }

    Ou encore, utiliser un systeme d'ActionBar au lieu d'activités indépendantes.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  12. #12
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Je me pencherai là dessus oui.

    Mais avant, j'ai encore parlé trop vite en disant que ça marche... ce qui est vrai, l'action sur les boutons fonctionne, mais je n'arrive pas à mettre à jour l'état des boutons (VISIBLE, DISABLED, GONE).

    Je n'ai pas trouvé la bonne formule.

    toolbar.xml
    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
     
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    		    xmlns:tools="http://schemas.android.com/tools"
    		    android:id="@+id/TBLayout"
    		    android:layout_width="match_parent"
    		    android:layout_height="64dp"		    
    		    android:orientation="vertical"
    		    xmlns:app="http://schemas.android.com/apk/lib/com.google.ads">
     
    		         <Button
    			        android:id="@+id/TBgps"
    			        android:layout_width="64dp"
    			        android:layout_height="64dp"
    			        android:layout_alignParentLeft="true"
    			        android:layout_centerVertical="true"
    			        android:onClick="geoloc"
    			        android:text="GPS" />
     
    		         <Button
    			        android:id="@+id/TBfav"
    			        android:layout_width="64dp"
    			        android:layout_height="64dp"
    			        android:layout_alignTop="@+id/TBgps"
    					android:layout_toRightOf="@+id/TBgps"
    			        android:layout_centerVertical="true"
    			        android:onClick="favoris"
    			        android:text="FAV" />
     
    </RelativeLayout>
    toolbar.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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    public class Toolbar extends Activity implements LocationListener 
    {
    	//globales générales
    	//******************
    	private Button TBgps, TBfav;
     
    	public void onCreate(Bundle savedInstanceState) 
    	{
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.toolbar);
    Log.e("--------- Toolbar","(layout chargé)");		
    		initButtonsIDs();
    Log.e("--------- Toolbar","(boutons initialisés)");
     
    		bouton_gps();
    Log.e("--------- Toolbar","(bouton gps testé)");		
    		bouton_fav(); 
    Log.e("--------- Toolbar","(bouton fav testé)");
    	}
    	private void initButtonsIDs()
    	{
    		TBgps  = (Button)findViewById(R.id.TBgps);
    		TBfav  = (Button)findViewById(R.id.TBfav);
    	}
     
     
    	/* ********************************************************************************************
    	 * 
    	 * BOUTON GPS
    	 * 
    	 **********************************************************************************************/
    	public void setTBgpsON() 	{ TBgps.setVisibility(android.view.View.VISIBLE); }
    	public void setTBgpsOFF() 	{ TBgps.setVisibility(android.view.View.GONE); }
     
    	public void bouton_gps()
    	{
    		if (geoloc_possible == false)	setTBgpsOFF();
    		else							setTBgpsON();
    	}
    	public void geoloc(View view)
    	{
    		Toast.makeText(this,"Toolbar - geoloc",Toast.LENGTH_SHORT).show();
    	}	
     
     
    	/* ********************************************************************************************
    	 * 
    	 * BOUTON FAVORIS
    	 * 
    	 **********************************************************************************************/
        public void setTBfavON() 	{ TBfav.setVisibility(android.view.View.VISIBLE); Log.e("--------- Toolbar favoris","VISIBLE");	}
    	public void setTBfavOFF() 	{ TBfav.setVisibility(android.view.View.GONE); Log.e("--------- Toolbar favoris","GONE");}
     
        public void bouton_fav()
    	{
    	    DatabaseLigne_Favoris favoris = new DatabaseLigne_Favoris(context);
    		favoris.open();
    		if (favoris.count() == 0)	setTBfavOFF();
    		else						setTBfavON();
    		favoris.close();
    	}
    	public void favoris(View view)
    	{
    		Intent i = new Intent(this, AfficherListeFavoris.class);
        	startActivity(i);
    	}	
    }
    afficherdetails.xml
    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
     
    <?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="match_parent"
       			android:id="@+id/detailsLayout"
       			android:background="@drawable/bois"
       			android:paddingLeft="10dp"
        		android:paddingRight="10dp"
       			android:orientation="vertical" >
     
    							    <!-- VILLE -->
    							    <!-- ***** -->
    							    <TextView
    							        android:id="@+id/lieu"
    							        android:layout_width="wrap_content"
    							        android:layout_height="wrap_content"
    							        android:layout_centerHorizontal="true"
    							        android:textSize="38dp"  
    							        android:layout_below="@+id/adView"
    							        tools:context=".AfficherListe" />
     
    							    <!-- DATE -->
    							    <!-- **** -->
    							    <TextView
    							        android:id="@+id/date"
    							        android:layout_width="wrap_content"
    							        android:layout_height="wrap_content"
    							        android:layout_alignParentLeft="true"
    							        android:layout_below="@+id/selection"
    							        android:layout_marginTop="10dp"
    							        android:text="Prochaine date : "
    							        android:textSize="37dp"
    							        android:textAppearance="?android:attr/textAppearanceMedium" />
     
    		<include layout="@layout/toolbar"  android:layout_below="@+id/scroll" android:layout_alignParentBottom="true" / >
     
    </RelativeLayout>
    afficherdetails.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
    55
    56
    57
    58
    59
    60
    61
    62
     
    public class AfficherDetails extends Toolbar
    {
    	private TextView dateVille, titre;
    	private ImageButton favoris, favoris_del;
     
        @Override
        public void onCreate(Bundle savedInstanceState) 
        {
        	DatabaseLigne_Favoris manifBDD = new DatabaseLigne_Favoris(this);
     
        	super.onCreate(savedInstanceState);
            setContentView(R.layout.afficher_details);
     
            dateVille = (TextView) findViewById(R.id.lieu);
            titre = (TextView) findViewById(R.id.selection);
     
        	favoris =(ImageButton)findViewById(R.id.favoris);		 
    		favoris_del =(ImageButton)findViewById(R.id.favoris_del);
     
            Bundle objetbunble  = this.getIntent().getExtras();
    		dateVille.setText(objetbunble.getString("date"));
    		titre.setText(objetbunble.getString("titre"));
    	}	
     
    	public void ajouter_favoris (View view)
        {
        	try 
        	{
    			DatabaseLigne_Favoris manifBDD = new DatabaseLigne_Favoris(this);
    			manifBDD.open();
    			manif.setDate(Fonctions.dateJJMMAAAA((String) dateD.getText()));
    			manifBDD.insertManif(manif);
    			manifBDD.close();
    			Toast.makeText(AfficherDetails.this,"Manifestation ajoutée à vos Favoris.",Toast.LENGTH_SHORT).show();
    			favoris.setEnabled(false);
    		} 
        	catch (Exception e) 
        	{
        		Toast.makeText(AfficherDetails.this,"PROBLEME de sauvegarde du favori, opération avortée.",Toast.LENGTH_LONG).show();
    		}
        }    
     
        public void supprimer_favoris (View view)
        {
        	try 
        	{
    			DatabaseLigne_Favoris manifBDD = new DatabaseLigne_Favoris(this);
    			manifBDD.open();
    			manifBDD.removeManifById(id_Fav);
    			manifBDD.close();
     
    			Toast.makeText(AfficherDetails.this,"Manifestation supprimée de vos Favoris.",Toast.LENGTH_SHORT).show();
    			setResult(RESULT_OK, new Intent());
    			finish();
    		} 
        	catch (Exception e) 
        	{
        		Toast.makeText(AfficherDetails.this,"PROBLEME de suppression du favori, opération avortée.",Toast.LENGTH_LONG).show();
    		}
        }
    }
    l'idée pour le test:
    -> ajout favoris: mettre le bouton favoris de la toolbar avec DISABLED par exemple
    -> juste pour tester une action sur l'état du bouton
    -> pour a terme pouvoir passer le bouton en GONE ou DISABLED par exemple lorsqu'il n'y a encore aucun favoris stocké

    MAIS: est-ce que ça passe
    1.) par une commande dans le code de afficherdetails.ajouter_favoris()?
    OU
    2.) par une méthode de la classe toolbar?

    En fait, j'ai essayé les deux, mais sans succès...

    Voilà, voilà.

  13. #13
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    En fait, dès le départ c'est bizarre:

    -> au lancement de AfficherDetails(), les méthodes de Toolbar() sont bien exécutées (grâce à l'héritage)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    01-11 13:49:34.001: E/--------- Toolbar(547): (layout chargé)
    01-11 13:49:34.001: E/--------- Toolbar(547): (boutons initialisés)
    01-11 13:49:34.001: E/--------- Toolbar gps(547): (false)
    01-11 13:49:34.001: E/--------- Toolbar(547): (bouton gps testé)
    01-11 13:49:34.031: E/--------- Toolbar NB favoris(547): (0)
    01-11 13:49:34.031: E/--------- Toolbar favoris(547): GONE
    01-11 13:49:34.041: E/--------- Toolbar(547): (bouton fav testé)
    -> les tests correctement résolus (afficher ou pas selon existence gps et favoris)

    -> les actions (GONE/VISIBLE) sont lancées........

    et pourtant les 2 boutons persistent à rester afficher malgré le passage à GONE!

  14. #14
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Je n'ai pas tout suivi mais tu peux tenter de faire un invalidate après avoir mis à jour l'état de ton bouton.
    http://developer.android.com/referen...l#invalidate()

    Même si je n'y crois pas trop :s
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  15. #15
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Ok, je vais essayer autrement.
    En fait ce que j'essayais d'expliquer:

    1.) au départ je pensais que le simple fait que AfficherDetails héritait de Toolbar suffirait à afficher ma barre (comme Toolbar.java lance un setcontentview du toolbar.xml)
    => non!

    2.) j'ai donc rajouté l'include du layout de Toolbar dans celui de AfficherDetails
    => ma barre apparait bien, ok
    => les clics sont gérés, ok

    => sauf que je n'arrive pas à modifier les boutons (gone, visible, disabled) malgré que les méthodes de Toolbar soient lancées (logcat)

    3.) c'est donc comme si ces actions (gone, visible, disabled) se faisaient MAIS sur les boutons de toolbar.xml, et non sur les boutons de l'instance de toolbar.xml incluse dans afficher_detail.xml
    -> serait-ce une explication?

    4.) il faut donc que je puisse "pointer" ces objets là dans AfficherDetails.java, mais comment?
    -> en java normal je ferai un truc du genre;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Toolbar tb = new Toolbar();
    tb.setTBfavOFF()
    -> mais là je n'ai pas de constructeur comme c'est une activity, juste le onCreate()
    -> et je ne peux pas non plus accéder de manière static aux méthodes de Toolbar.java
    -> sans compter le point 3.) ci-dessus.......

  16. #16
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    au départ je pensais que le simple fait que AfficherDetails héritait de Toolbar suffirait à afficher ma barre (comme Toolbar.java lance un setcontentview du toolbar.xml)
    Normalement cela doit marcher !!

    j'ai donc rajouté l'include du layout de Toolbar dans celui de AfficherDetails
    Tu n'as pas besoin de faire cela, par contre c'est normal que tu ne charges pas le même layout entre ta ToolBar et ton AfiicheDetails ????
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  17. #17
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Je viens de refaire le test de l'include, et je confirme: dans afficher_details.xml, si je vire mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <include layout="@layout/toolbar" />
    , ma barre n'apparait pas.

    Toolbar.java (que je veux pouvoir utiliser dans toutes mes activités) charge toolbar.xml qui contient la définition des boutons dans un relativelayout

    AfficherDetails.java charge afficher_details.xml... qui lui même contient toolbar.xml via l'include

    Ou alors j'ai loupé un truc, conceptuellement?

    Pour moi AfficherDetails charge son layout..... ainsi que toolbar.xml, en "surimpression", via l'héritage... c'est pas ça?

  18. #18
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Ou alors Toolbar.java.onCreate() ne doit pas faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setContentView(R.layout.toolbar);
    mais plutôt inflater ce même layout au-dessus du layout principal de la page
    -> afficher_details.xml ICI
    -> mais sinon, dans le cas des mes autres activités, comment récupérer l'ID du layout de l'activité courante?

  19. #19
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    J'écume le net depuis ce matin et tu as raison, ce qui semblait logique!

    -> ça devrait marcher exactement comme je l'ai fait et posté plus haut!

    -> Toolbar (avec ses méthodes) extends Activity + AfficherDetails extends Toolbar = affichage de la TB, sans include dans afficherèdetails.xml..............

    -> mais ce n'est malheureusement pas le cas!

    Y a donc une c****** qq part dans le potage... ou plutôt dans mon code!

    La toolbar existe qq part, puisque ses méthodes sont lancées, appliquées & ne crashent pas (setcontentview, setTBgpsON/OFF, etc).

    Mais c'est comme si la toolbar elle était cachée, écrasée ou au second plan, par rapport à afficher_details.xml(??)........

  20. #20
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    c'est normal que tu ne charges pas le même layout entre ta ToolBar et ton AfiicheDetails ????
    heu... oui:
    -> afficher_details c'est le principale de l'activité
    -> toolbar spécifique à la toolbar..... qui doit se "rajouter"

    ou déjà là conceptuellement j'ai tout faux?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. gridview avec bouton et methode onclick et postbackurl
    Par tortuegenie dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/10/2009, 13h08
  2. [Struts-Layout] boutons radio
    Par DomIII dans le forum Struts 1
    Réponses: 3
    Dernier message: 13/09/2009, 21h51
  3. Réponses: 2
    Dernier message: 31/03/2009, 10h01
  4. Comment utiliser un bouton en simple onClick autre que submit
    Par Dendrite dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/11/2008, 17h49
  5. Détruire un bouton sur son OnClick
    Par Volfoni dans le forum C++Builder
    Réponses: 5
    Dernier message: 08/06/2006, 13h00

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