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 :

StackOverFlow sur ViewFlipper en 1.6


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Par défaut StackOverFlow sur ViewFlipper en 1.6
    Bonjour,

    Actuellement, dans mon application, j'utilise un ViewFlipper qui permet d'afficher des listes, etc. Tout fonctionne correctement, seulement, quand je souhaite revenir à la vue précédente, cela plante avec une StackOverFlowException sous Android 1.6...

    Auriez vous une idée de ce qui peut créer ce bug ? Je teste en parallèle sur un HTC Wildfire 2.1 et tout fonctionne sans aucun problème...

    Merci !

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Par défaut
    Bonjour,

    Après de nombreux tests, je me suis rendu compte que cette erreur venait d'un ajout de composant dans un layout. De fait, j'utilise un composant définit via XML. Cela fonctionne, seulement, lorsque je passe à une vue suivante et que je souihaite revenir sur la vue comprenant ce composant, on trouve une StackOverFlowException au moment de l'utilisation de ce composant XML...

    Voici le code que j'ai définit pour ce composant :

    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
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    linBoutonRechercheTexte = new LinearLayout(RestouActivity.this);
        	linBoutonRechercheTexte.setLayoutParams(new LayoutParams(215, 40));
        	View v = RestouActivity.this.getLayoutInflater().inflate(R.layout.searchbar, null);
        	linBoutonRechercheTexte.addView(v);
        	edit = (AutoCompleteTextView)v.findViewById(R.id.edit);
     
        	edit.setOnFocusChangeListener(new OnFocusChangeListener(){
     			public void onFocusChange(View arg0, boolean arg1) {
     				if(RestouActivity.this.edit.getText().toString().equals("")){
     					RestouActivity.this.edit.setText("Rechercher par Ville / CP");
     				}
     			}
     	   });
     	   edit.setOnClickListener(new OnClickListener(){
     			public void onClick(View v) {
     				RestouActivity.this.edit.setText("");
     			}
     	   });
       	   edit.setOnEditorActionListener(new OnEditorActionListener(){
     			public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
     				String texteRecherche = v.getText().toString();
     				if(Global.log){
     					Log.i("Texte à rechercher : ", texteRecherche);
     				}
     
     				final LocationManager lm = (LocationManager)getSystemService(RestouActivity.this.LOCATION_SERVICE);
                 	if(wasFirstDisabled && lm.isProviderEnabled(Global.provider)){
                 		dialog = new  ProgressDialog(RestouActivity.this);
     			        dialog.show();
     			        dialog.setContentView(R.layout.splashscreenprogressdialog);
     
                 		Log.i("", "GPS activé");
                 		lm.requestLocationUpdates(Global.provider, 0, 0, new LocationListener(){
         	                public void onLocationChanged(Location arg0) {
         	                     lat = String.valueOf(arg0.getLatitude());
         	                     lon = String.valueOf(arg0.getLongitude());
         	                     updatedGPS = true;
         	                     Log.e("GPS", "location changed: lat="+lat+", lon="+lon);
         	                }
         	                public void onProviderDisabled(String arg0) {
         	                     Log.e("GPS", "provider disabled " + arg0);
         	                }
         	                public void onProviderEnabled(String arg0) {
         	                     Log.e("GPS", "provider enabled " + arg0);
         	                }
         	                public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
         	                     Log.e("GPS", "status changed to " + arg0 + "-" + arg1 + "-");
         	                }
         	            }); 
         	            if(updatedGPS){
         	            	loc.setLatitude(Double.valueOf(lat));
         	            	loc.setLongitude(Double.valueOf(lon));
         	            }else{
         	        		Criteria crit = new Criteria();
         	        		crit.setAccuracy(Criteria.ACCURACY_FINE);
         	        		String provider = lm.getBestProvider(crit, true);
     
         	        		try{
         	        			loc = lm.getLastKnownLocation(Global.provider);
         	        		}catch(Exception e){
     
         	        		}
         	            }
         	            RestouActivity.this.launchWait();
         	            InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
         	            imm.hideSoftInputFromWindow(edit.getWindowToken(), 0);
         	            wasFirstDisabled = false;
                 	}else{
                 		Criteria crit = new Criteria();
                 		crit.setAccuracy(Criteria.ACCURACY_FINE);
                 		String provider = lm.getBestProvider(crit, true);
     
                 		try{
                 			loc = lm.getLastKnownLocation(Global.provider);
                 		}catch(Exception e){
     
                 		}
                     	RestouActivity.this.doNextSteps(1, texteRecherche);
                 	}
                 	RestouActivity.this.edit.setText("");
                 	InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                 	imm.hideSoftInputFromWindow(edit.getWindowToken(), 0);
     				return false;
     			}
       	   });
        	//linRecherche.removeView(linBoutonRechercheTexte);
       	   linRecherche.addView(linBoutonRechercheTexte);
    Pourriez vous me dire si vous voyez une erreur quelque part ? Ce que je ne comprend pas est que, lorsque je lance mon activity, le composant s'affiche et fonctionne correctement, alors que au moment de revenir à la vue principale (le composant n'est pas rechargé), ca plante...

    Remarque : si je supprime la dernière ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     linRecherche.addView(linBoutonRechercheTexte);
    alors il n'y a plus d'erreur... mais je ne vois pas ce qui peut la provoquer à ce niveau ! surtout que cette erreur n'est valable que sous 1.6...

    Merci d'avance !

Discussions similaires

  1. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28
  2. Réponses: 2
    Dernier message: 11/09/2006, 12h22
  3. [Kylix] Kylix embarqué sur PDA ?
    Par Anonymous dans le forum NoSQL
    Réponses: 10
    Dernier message: 29/11/2002, 13h59
  4. F.A.Q, Doc, cours, tutoriels sur JBuilder
    Par Ricky81 dans le forum JBuilder
    Réponses: 0
    Dernier message: 14/03/2002, 15h28

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