Partage
  • Partager sur Facebook
  • Partager sur Twitter

Android : Problème avec un Intent

Sujet résolu
    9 novembre 2014 à 21:44:25

    Bien le bonjour (soir pour les plus rapides d'entre vous) à tous !

    J'ai un problème avec un Intent. En fait je ne sais pas si le crash de l'application provient de startActivity(), mais ce qui est sûr, c'est que la deuxième activité ne veut pas se lancer !

    Voici les plusieurs parties de code

    Manifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="me.gladear.androidapp"
        android:versionCode="1"
        android:versionName="0.1.0" >
    
        <uses-sdk
            android:minSdkVersion="16"
            android:targetSdkVersion="20" />
        
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            
            <activity
                android:name=".MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    		<activity
                android:name=".SecondActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.SECOND" />
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
            </activity>
    
            
        </application>
    
    </manifest>
    



    MainActivity.java

    public class MainActivity extends Activity {
    	
    	Button button;
    	
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		
    		findViewById(R.id.main_button).setOnClickListener(new View.OnClickListener() {
    			
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				Intent intent = new Intent("SECOND");
    				startActivity(intent);
    			}
    		});
    
    		
    	}
    }



    J'espère que quelqu'un pourra venir à mon secours car cela fait plus ou moins 2 semaines que je bloque (sans y travailler sans relache non plus) et c'est assez embetant de ne pas pouvoir changer d'activité !

    Merci d'avance !

    PS : Moi et ma maudite manie de donner du code (faux qui plus est) sans autres infos...

    Bref : 

    • Je suis sûr que le listener est bien appelé quand je clique sûr le bouton (vive LogCat o/ )
    • La deuxième activité a bien été créée : un fichier SecondActivity.java et un activity_second.xml (le fichier xml étant appelé par un setContentView() au début du fichier java) mais je n'ai pas jugé utile de présenter les deux codes dans le topic

    -
    Edité par Gladear 9 novembre 2014 à 21:49:43

    • Partager sur Facebook
    • Partager sur Twitter
    Keep Calm and eat pancakes
      10 novembre 2014 à 9:10:44

      Si ton application crash il y a forcément une trace et un exécution dans le logcat.

      Pas de logcat = pas d'aide ;)

      • Partager sur Facebook
      • Partager sur Twitter
        10 novembre 2014 à 10:47:27

        essaie plutot ca 
         Intent intent = new Intent(MainActivity.this,SecondActivity.class);
          startActivity(intent);
        • Partager sur Facebook
        • Partager sur Twitter
          10 novembre 2014 à 18:51:57

          Wapiti98

          Voila exactement ce que me donne LogCat, j'ai essayé de "décripter" mais j'avous avoir un peu de mal o_O

          11-10 18:49:30.494: W/ResourceType(11557): Attempt to retrieve bag 0x7f060001 which is invalid or in a cycle.
          11-10 18:49:30.534: I/Adreno-EGL(11557): <qeglDrvAPI_eglInitialize:320>: EGL 1.4 QUALCOMM Build: I0404c4692afb8623f95c43aeb6d5e13ed4b30ddbDate: 11/06/13
          11-10 18:49:30.554: D/OpenGLRenderer(11557): Enabling debug mode 0
          11-10 18:49:46.754: D/AndroidRuntime(11557): Shutting down VM
          11-10 18:49:46.754: E/AndroidRuntime(11557): FATAL EXCEPTION: main
          11-10 18:49:46.754: E/AndroidRuntime(11557): Process: me.gladear.androidapp, PID: 11557
          11-10 18:49:46.754: E/AndroidRuntime(11557): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=SECOND }
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1632)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at android.app.Activity.startActivityForResult(Activity.java:3424)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at android.app.Activity.startActivityForResult(Activity.java:3385)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at android.app.Activity.startActivity(Activity.java:3627)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at android.app.Activity.startActivity(Activity.java:3595)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at me.gladear.androidapp.MainActivity$1.onClick(MainActivity.java:28)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at android.view.View.performClick(View.java:4438)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at android.view.View$PerformClick.run(View.java:18422)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at android.os.Handler.handleCallback(Handler.java:733)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at android.os.Handler.dispatchMessage(Handler.java:95)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at android.os.Looper.loop(Looper.java:136)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at android.app.ActivityThread.main(ActivityThread.java:5001)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at java.lang.reflect.Method.invoke(Native Method)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
          11-10 18:49:46.754: E/AndroidRuntime(11557): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
          


          Pour info je fais tourner le programme sur mon téléphone.

          Kamtsann

          Quand j'utilise ta technique (celle que j'utilisais avant, mais j'ai refais le test), LogCat me donne 2/3x plus d'erreurs (http://www.filedropper.com/log). Bon je ne sais pas, peut-être qu'elles sont plus simples à gérer, mais il y en a plus.

          -
          Edité par Gladear 10 novembre 2014 à 18:57:17

          • Partager sur Facebook
          • Partager sur Twitter
          Keep Calm and eat pancakes
            11 novembre 2014 à 0:02:55

            Salut,

            Commence effectivement par utiliser le code donné par kamtsann.

            Ensuite, simplifie un peu ton manifest en enlevant les informations inutiles de ta SecondActivity.

            Ça devrait donner quelque chose comme ça :

            <activity
                        android:name=".SecondActivity"
                        android:label="@string/app_name" />
            

            Si ton application crashe encore suite à ces modifications, poste le nouveau logcat ;)

            -
            Edité par rolandl 11 novembre 2014 à 21:09:59

            • Partager sur Facebook
            • Partager sur Twitter
              11 novembre 2014 à 20:30:26

              Toujours autant de crash...

              11-11 20:29:02.061: W/ResourceType(19920): Attempt to retrieve bag 0x7f060001 which is invalid or in a cycle.
              11-11 20:29:02.111: I/Adreno-EGL(19920): <qeglDrvAPI_eglInitialize:320>: EGL 1.4 QUALCOMM Build: I0404c4692afb8623f95c43aeb6d5e13ed4b30ddbDate: 11/06/13
              11-11 20:29:02.141: D/OpenGLRenderer(19920): Enabling debug mode 0
              11-11 20:29:28.361: D/AndroidRuntime(19920): Shutting down VM
              11-11 20:29:28.371: E/AndroidRuntime(19920): FATAL EXCEPTION: main
              11-11 20:29:28.371: E/AndroidRuntime(19920): Process: me.gladear.androidapp, PID: 19920
              11-11 20:29:28.371: E/AndroidRuntime(19920): java.lang.RuntimeException: Unable to start activity ComponentInfo{me.gladear.androidapp/me.gladear.androidapp.SecondActivity}: java.lang.RuntimeException: Binary XML file line #7: You must supply a layout_width attribute.
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.app.ActivityThread.access$800(ActivityThread.java:135)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.os.Handler.dispatchMessage(Handler.java:102)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.os.Looper.loop(Looper.java:136)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.app.ActivityThread.main(ActivityThread.java:5001)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at java.lang.reflect.Method.invoke(Native Method)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
              11-11 20:29:28.371: E/AndroidRuntime(19920): Caused by: java.lang.RuntimeException: Binary XML file line #7: You must supply a layout_width attribute.
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:492)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:5948)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.view.ViewGroup$MarginLayoutParams.<init>(ViewGroup.java:6117)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.widget.LinearLayout$LayoutParams.<init>(LinearLayout.java:1831)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:1743)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:58)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:757)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.app.Activity.setContentView(Activity.java:1929)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at me.gladear.androidapp.SecondActivity.onCreate(SecondActivity.java:14)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.app.Activity.performCreate(Activity.java:5231)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
              11-11 20:29:28.371: E/AndroidRuntime(19920): 	... 9 more
              



              • Partager sur Facebook
              • Partager sur Twitter
              Keep Calm and eat pancakes
                11 novembre 2014 à 20:36:21

                Okay je viens de résoudre mon (dernier) problème et j'avous avoir totalement honte de ce que c'est : Je n'avais pas informé les layout_width et layout_heigth d'un de mes composants ! (J'aurais peut-être dû lire le LogCat avant de vous le donner... Comme quoi je comprend 2/3 trucs !).

                Merci pour votre aide !

                • Partager sur Facebook
                • Partager sur Twitter
                Keep Calm and eat pancakes
                  14 novembre 2014 à 3:57:54

                  Comme un plus sur ce thread , voici un tutoriel pour l'utilisation des activities, passer des données entre elles, utiliser des intents explicites et implicites etc : http://www.android-ios-tutorials.com/android/switch-between-activities-in-android/

                  -
                  Edité par kichalahoucine 14 novembre 2014 à 3:58:41

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Android : Problème avec un Intent

                  × 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