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 :

appel un Activity2.java de Ondraw(Canvas c)


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 57
    Par défaut appel un Activity2.java de Ondraw(Canvas c)
    Bonjour,

    je suis en train de trouver le façon d'appeler un Activity2.java de Ondraw !
    Situation:

    Activity1.java: click ButtonA pour faire dessiner avec Ondraw(Canvas c)

    dans cette nouvelle Screen(par Ondraw) je voudrais appeler Activity2.java

    déjà essayé avec : mais le programme ne connais pas Actvity1.this
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public boolean onTouchEvent(MotionEvent event){ 
     
    	    if(event.getX() <100 && event.getY() < 100)	    	
                {             
    	    		intent = new Intent(Activity1.this, Activity2.class);				
    			startActivity(intent);
    			finish();	    			    		
                } 
                return true; 	    
    	}
    merci de votre réponse !

  2. #2
    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,

    Si je résume bien le code que tu as affiché est présent dans la class Activity1.

    Et le compilateur te dis qu'il ne connais pas Acitivty1.this dans la procédure onTouchEvent d'Activity1 .

    Dans ce cas essaye de passer directement this , au lieu de Activity1.this .

    Comme cela ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    intent = new Intent(this, Activity2.class);				
    			startActivity(intent);
    			finish();

    Si par contre le onTouchEvent appartient à un objet et non la class , fait plutôt comme cela ,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    intent = new Intent(GetBaseContext(), Activity2.class);				
    			startActivity(intent);
    			finish();

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 57
    Par défaut

    Non, le code dans la classe Drawcanvas.java
    la programme: Activity1.java (click Button) --->DrawCanvas.java (OntoucheEvent)

    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
    public class Activity1 extends Activity
    {
    	public static Context mcontext;
    	public static Intent intent ;
    	public void onCreate(Bundle savedInstanceState)
    		{
    		super.onCreate(savedInstanceState) ;
    		         ...	   
    	        setContentView(frameLayout);
                             ...
    		}
    	
    	        ButtonA.setOnclickListener ...{
                            ....  	
    	    	        dcanvas = new DrawCanvas(this);
    	                frameLayout.addView(dcanvas);
    	        }
    	    return true;
    	}
    
    }

    Architecture de DrawCanvas
    Pas de startActivity mais l'idée est assez bon !
    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
    public class DrawCanvas extends View {	
    	public DrawCanvas(Context context)
    	{ ......}
     
    	@Override
    	protected void onDraw(Canvas canvas)
    	{		
    	    public boolean onTouchEvent(MotionEvent event){ 	    	 
    	    	if(event.getX() <100 && event.getY() < 100)	    	
                          {             	
    	    		//Toast.makeText....
    	    		Activity1.intent  = new Intent(Activity1.mcontext, Activity2.class);	    			
    			startActivity(Activity1.intent);
    			//finish();	
                           } 
                return true; 	    	    
    	}
    }
    merci de votre réponse:
    je pense que: Intent a été utilisé pour 2 Activitys
    this , ici pour Drawcanvas extends de View; ne fonction pas avec Intent
    getBaseContext(); appliqué pour le class , pas de onDraw() .

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 57
    Par défaut
    Je viens de trouver la solution
    en fait: Intent peut utiliser entre View et Activity

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Intent intent = new Intent(getContext(), Demo.class);
    	             ((Activity)getContext()).startActivity(intent);
    getContext() retourner le context de View (ici c'est DrawCanvas)
    mais pourquoi avec Drawcanvas.this ne fonction pas ??

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

Discussions similaires

  1. appel un Activity2.java - layout2.xml - Package2
    Par maydenec dans le forum Android
    Réponses: 6
    Dernier message: 01/02/2011, 16h11
  2. comment appeler une fonction JAVA en JAVASCRIPT ?
    Par heleneh dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 13/09/2005, 12h21
  3. [Applet] appel de methodes java en javascript
    Par soulhouf dans le forum Applets
    Réponses: 16
    Dernier message: 06/09/2005, 14h18
  4. [Excel][VBA][Java] Appeler un objet java
    Par ay_pepito dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/07/2005, 15h46
  5. Unité Delphi appelée à partir de JAVA
    Par babaahmed dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 26/04/2003, 10h51

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