problème avec le manifest
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:
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:
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:
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.