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 :

Agir sur une activité depuis une View personalisée


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut Agir sur une activité depuis une View personalisée
    Bonjour à tous,

    J'ai réaliser un widget perso en étendant la classe View. Ce widget surcharge la méthode onTouchEvent();

    Dans cette méthode j'agi sur mon widget , mais j'aurais également besoin d'agir sur d'autres éléments de mon activité (typiquement cocher ou non des radiobutton).

    Mon widget recevant le contexte de l'activité qu'elle est la meilleure solution sachant que j'aimerais garder ma gestion d’évènement dans mon widget (et non pas dans une classe dérivée écrite dans l'activité) ?

    J'avais penser à une ou plusieurs méthode statique dans l'activité.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Salut.
    Tu parle de widget au sens android???

    Ou d'une view que tu affiche dans ton activity?

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Je parle d'un widget comme peut l'être une progressBar, un bouton , etc . C'est le terme que j'ai vu employé dans un bouquin , mais peut être fais je erreur.

    Par exemple :

    Soit l'activité A :
    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
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="@drawable/bg">
     
     
    	<my.pocket.widget.Timeline 
    		android:layout_width="fill_parent"
    		android:layout_height="wrap_content"
    		android:id="@+id/timeline">
    	</my.pocket.widget.Timeline>
     
    </LinearLayout>
    J'aimerais pouvoir agir sur les éléments de l'extrait xml ci dessus depuis la classe qui défini Timeline :

    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
    public class Timeline extends View 
    {
     
    	private Context context;
     
    	public Timeline(Context context,AttributeSet attrs, int defStyle) 
    	{
    		super(context,attrs,defStyle);
    		this.context = context;
    		this.init();
    	}
     
    	public Timeline(Context context, AttributeSet attrs)
    	{
    		super(context,attrs);
    		this.context = context;
    		this.init();
    	}
     
    	public Timeline(Context context)
    	{
    		super(context);
    		this.context = context;
    		this.init();
    	}
     
    	/**
             * Initialise le paint
             */
    	private void init()
    	{
    		this.paint 	= new Paint();
    		paint.setColor(0xFF0b6393);
    		paint.setStyle(Paint.Style.FILL);
    	}
     
    	@Override
    	public boolean onTouchEvent(MotionEvent event) 
    	{
    		//ICI Agir sur les éléments du XML de l'activité
    		return true;
    	}
     
    	@Override
    	protected void onDraw(Canvas canvas) {
     
    	}
     
     
    }
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par grunk Voir le message
    Je parle d'un widget comme peut l'être une progressBar, un bouton , etc . C'est le terme que j'ai vu employé dans un bouquin , mais peut être fais je erreur.
    C'était juste pour être sur que l'on parle des widget.view et non des apps widget
    http://developer.android.com/guide/t...ets/index.html

    et y as surement un peu de fatigue aussi

    Tu veux faire une view qui affiche un layout écrit en xml ? ou ta view et le layout sont affichés à deux endroits?

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Tu veux faire une view qui affiche un layout écrit en xml ? ou ta view et le layout sont affichés à deux endroits?
    Concrètement j'ai une activité qui à un layout en XML. Ce layout contient des widget, dont ma view personnalisée (voir l'exemple de code précédent).

    J'aimerais depuis la classe qui gère ma view personnalisé pouvoir agir sur les autres éléments de l'activity.

    J'ai essayé ceci dans ma class Timeline (celle qui gère la view perso) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    View parent = (View) this.getParent()
    RadioButton button = (RadioButton)parent.findViewById(R.id.un_element_de_mon_activity);
    Mais sans succès , parent.findViewById me retourne null , comme si il ne cherchais pas au bon endroit.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Expert confirmé

    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
    Par défaut
    Bonjour,

    Pourquoi ne pas plutôt passer une liste de View à ta View personnalisé à partir de ton Activity ?

    Puis de là tu traites cette liste dans ta view personnalisé.

    Maintenant je ne suis pas sûr que cela soit la bonne solution de déporter les évènements dans une View qui ne les concerne pas !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/10/2015, 17h16
  2. Démarrer une activité depuis une AsyncTask
    Par DummyDev dans le forum Android
    Réponses: 6
    Dernier message: 10/01/2013, 18h10
  3. Actualisation d'une activité depuis une autre
    Par eento dans le forum Android
    Réponses: 2
    Dernier message: 08/08/2012, 01h51
  4. Réponses: 2
    Dernier message: 17/04/2007, 17h14
  5. [MFC]agir sur un control depuis une dll
    Par giova_fr dans le forum MFC
    Réponses: 3
    Dernier message: 01/02/2006, 23h23

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