Bonjour, j'ai un bug récurrent. Mon appli plante lorsque je veux accéder au menu suivant et je ne comprend pas pourquoi.

En cliquant sur le bouton lancement je devrais accéder à la classe menutest. L'autre bouton renvoyant à une autre classe sans que je ne vois un quelconque problème.

Peut être ais je mal établi le manifest ...

Voici mon code :
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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.aviy.memory"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="false">
        <activity android:name=".Menudepart"
                  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=".Menutest"></activity>
        <activity android:name=".Score"></activity>   
		<activity android:name=".Jeu"></activity>
		<activity android:name=".Jeu1"></activity>
		<activity android:name=".Jeu2"></activity>
 
 
 
    </application>
    <uses-sdk android:minSdkVersion="2" />
 
</manifest>
Voila la classe de départ :

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
package com.aviy.memory;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
 
public class Menudepart extends Activity implements OnClickListener {
	Button lancement = null;
	Button score=null;
 
	/** Called when the activity is first created. **/
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu){
    	MenuInflater inflater =getMenuInflater();
    	inflater.inflate(R.menu.monmenu, menu);
    	return true;
	}
 
	public boolean onMenuItemSelected(int featureId,MenuItem item){
 
    	switch (item.getItemId()){
       	case R.id.Regles:
       		Toast.makeText(this,"Sélectionnez un niveau de difficulté",Toast.LENGTH_SHORT).show();
       		return true;
 
       	case R.id.Quitter:
       		finish();
       		return true;
 
       	case R.id.Auteur:
       		Toast.makeText(this,"EcoCO2",Toast.LENGTH_SHORT).show();
 
       	}
       	return super.onMenuItemSelected(featureId, item);
 
       	}
 
 
	public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menudepart);
 
        lancement=(Button)findViewById(R.id.button1);
        lancement.setOnClickListener(this);
        score=(Button)findViewById(R.id.button2);
        score.setOnClickListener(this);
    }
 
	@Override
    public void onClick(View v){
        if(v==lancement){
	        Intent monIntent=new Intent(this,Menutest.class);
	        startActivity(monIntent);
        }
        if(v==score){
	        Intent monIntent=new Intent(this,Score.class);
	        startActivity(monIntent);
        }
    }
 
}
et la classe qui devrait être appelé :
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
package com.aviy.memory;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
 
 
//allez voir dans le manifest pour l'ordre d'affichage des layout
 
//menu de base de l'application
public class Menutest extends Activity implements OnClickListener {
 
	Button Facile = null;
	Button Moyen=null;
	Button Difficile=null;
 
	/** Called when the activity is first created. **/
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu){
    	MenuInflater inflater =getMenuInflater();
    	inflater.inflate(R.menu.monmenu, menu);
    	return true;
	}
 
	public boolean onMenuItemSelected(int featureId,MenuItem item){
 
    	switch (item.getItemId()){
       	case R.id.Regles:
       		Toast.makeText(this,"Sélectionnez un niveau de difficulté",Toast.LENGTH_SHORT).show();
       		return true;
 
       	case R.id.Quitter:
       		finish();
       		return true;
 
       	case R.id.Auteur:
       		Toast.makeText(this,"EcoCO2",Toast.LENGTH_SHORT).show();
 
       	}
       	return super.onMenuItemSelected(featureId, item);
 
       	}
 
 
	public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.typejeu);
 
        Facile=(Button)findViewById(R.id.button1);
        Facile.setOnClickListener(this);
        Moyen=(Button)findViewById(R.id.button2);
        Moyen.setOnClickListener(this);
        Difficile=(Button)findViewById(R.id.button3);
        Difficile.setOnClickListener(this);
    }
 
	@Override
    public void onClick(View v){
        if(v==Facile){
	        Intent monIntent=new Intent(this,Jeu1.class);
	        startActivity(monIntent);
        }
        if(v==Moyen){
	        Intent monIntent=new Intent(this,Jeu2.class);
	        startActivity(monIntent);
        }
        if(v==Difficile){
            Intent monIntent=new Intent(this,Jeu.class);
            startActivity(monIntent);        
        }
    }
 
}
En sachant que si je demande à la classe menutest d'être en "launcher" je n'ai plus de bug.