Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur concernant un processur

Sujet résolu
    23 octobre 2014 à 16:47:39

    bonjour. je suis debutant dans le developpement android. 

    depuis 2 jours j'ai une erreur que je n'arrive pas a resoudre : "fermeture soudaine de l'application ... merci de reessayer "

    merci d'avance

    package com.cedric.imc;
    
    
    import android.text.Editable;
    import android.text.TextWatcher;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.CheckBox;
    import android.widget.EditText;
    import android.widget.RadioGroup;
    import android.widget.TextView;
    import android.widget.Toast;
    
    
    public class MainActivity extends Activity {
    
    	 
    	 private final String Mega ="Vous faites un poids parfait ! wahou";
    	 private final String defaut="Vous  devez cliquer sur le boutton calcul de l'imc pour obtenir un resultat ";
    	 
    	 //initialisation de nos vues
    	 
    	 Button calculer = null;
    	 Button raz = null;
    	 
    	 TextView resultat = null;
    	 
    	 EditText poids = null;
    	 EditText taille = null;
    	 
    	 RadioGroup group=null;
    	 
    	 CheckBox mega = null;
    	 
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            //on recupere les identifiants de nos vues
            
            calculer = (Button)findViewById(R.id.calculer);
            raz = (Button)findViewById(R.id.raz);
            
            resultat = (TextView)findViewById(R.id.resultat);
            
            poids = (EditText)findViewById(R.id.poids);
            taille = (EditText)findViewById(R.id.taille);
            
            group = (RadioGroup)findViewById(R.id.group);
            
            
            //on attribue des listeners a nos vues
            
            calculer.setOnClickListener(calListener);
            raz.setOnClickListener(razListener);
            poids.addTextChangedListener(textWatcher);
            taille.addTextChangedListener(textWatcher);
            mega.setOnClickListener(checkedliListener);
        }
    
    
        private TextWatcher textWatcher = new TextWatcher() {
    		
    		@Override
    		public void onTextChanged(CharSequence s, int start, int before, int count) {
    			// TODO Auto-generated method stub
    			
    			resultat.setText(defaut);
    		}
    		
    		@Override
    		public void beforeTextChanged(CharSequence s, int start, int count,
    				int after) {
    			// TODO Auto-generated method stub
    			
    		}
    		
    		@Override
    		public void afterTextChanged(Editable s) {
    			// TODO Auto-generated method stub
    			
    		}
    	};
    	
    	private OnClickListener calListener = new OnClickListener() {
    		
    		@Override
    		public void onClick(View v) {
    			// TODO Auto-generated method stub
    			
    			if (!mega.isChecked() ){
    				
    				String t= taille.getText().toString();
    				String p=poids.getText().toString();
    				
    				float tValue = Float.valueOf(t);
    				
    				if (tValue==0)
    			
    				{
    					Toast.makeText(MainActivity.this,"tu es un minipouce ou quoi ?", Toast.LENGTH_SHORT).show();
    				}
    				else
    				{
    					float pValue = Float.valueOf(p);
    					
    					if (group.getCheckedRadioButtonId()==R.id.radio2)
    						
    						tValue=tValue/100;
    					tValue = (float)Math.pow(tValue, 2);
    					Float imc = pValue / tValue ;
    					resultat.setText("votre imc est "+String.valueOf(imc));
    				}
    			}else
    				
    				resultat.setText(Mega);
    				
    			
    		}
    	};
    	
    	private OnClickListener razListener = new OnClickListener() {
    		
    		@Override
    		public void onClick(View v) {
    			// TODO Auto-generated method stub
    			
    			poids.getText().clear();
    			taille.getText().clear();
    			resultat.setText(defaut);
    			
    		}
    	};
    	
    	private OnClickListener checkedliListener = new OnClickListener() {
    		
    		@Override
    		public void onClick(View v) {
    			// TODO Auto-generated method stub
    			
    			if (!((CheckBox)v).isChecked() && resultat.getText().equals(Mega))
    					resultat.setText(defaut);
    			
    		}
    	};
    }
    
    • Partager sur Facebook
    • Partager sur Twitter
      24 octobre 2014 à 14:40:09

      merci de vous penchez sur mon probleme Wapiti89.

      je ne sais pas vraiment interpreter les messages du logcat. mais je l'ai filtre par erreur et voici ce qu'il me dit

      10-24 13:02:14.108: E/AndroidRuntime(221): Uncaught handler: thread main exiting due to uncaught exception
      10-24 13:02:14.129: E/AndroidRuntime(221): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cedric.imc/com.cedric.imc.MainActivity}: java.lang.NullPointerException
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at android.app.ActivityThread.access$2200(ActivityThread.java:119)
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at android.os.Handler.dispatchMessage(Handler.java:99)
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at android.os.Looper.loop(Looper.java:123)
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at android.app.ActivityThread.main(ActivityThread.java:4363)
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at java.lang.reflect.Method.invokeNative(Native Method)
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at java.lang.reflect.Method.invoke(Method.java:521)
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at dalvik.system.NativeStart.main(Native Method)
      10-24 13:02:14.129: E/AndroidRuntime(221): Caused by: java.lang.NullPointerException
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at com.cedric.imc.MainActivity.onCreate(MainActivity.java:62)
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
      10-24 13:02:14.129: E/AndroidRuntime(221): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
      10-24 13:02:14.129: E/AndroidRuntime(221): 	... 11 more
      



      -
      Edité par Soumced 24 octobre 2014 à 15:07:33

      • Partager sur Facebook
      • Partager sur Twitter
        24 octobre 2014 à 15:36:06

        D'après le logCat, tu as une NullPointerException sur la ligne 62.

        Ca correspond à :

        mega.setOnClickListener(checkedliListener);
        

        Tu ne récupères pas la référence de ton widget mega dans le layout via la méthode findViewById

        • Partager sur Facebook
        • Partager sur Twitter
          27 octobre 2014 à 13:14:43

          merci infiniement. 

          j'avais oublier la referance de mon mega.je ne sais pas encore correctement interpreter les erreurs du logcat.

          merci de m'avoir aide.

          • Partager sur Facebook
          • Partager sur Twitter
            27 octobre 2014 à 13:54:53

            Pas de soucis. N'oublie pas d'indiquer ton sujet comme résolu.

            • Partager sur Facebook
            • Partager sur Twitter

            erreur concernant un processur

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown