2010-11-23 4 views
1

Je suis nouveau dans le développement d'applications et j'ai travaillé sur une application de carte Flash. Il y a un écran principal et l'utilisateur choisit un bouton. Sur l'émulateur lorsque je touche un bouton pour aller à une nouvelle activité, ma force d'application se ferme. J'ai ajouté l'activité dans le manifeste. La deuxième activité a sa propre disposition (main2.xml). Mes boutons ressemblent à ceci:La force de l'application Droid simple se ferme lors de la commutation des activités

Button add = (Button) findViewById(R.id.add); 
add.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     Intent addIntent = new Intent(view.getContext(), Add.class); 
     startActivity(addIntent); 

    } 
}); 

Toute idée de ce qui se passe mal? Si plus d'informations sont nécessaires je peux le fournir, j'ai été coincé ici pendant deux jours. Merci

+2

Vous devez envoyer la sortie logcat. – EboMike

+0

Y a-t-il des erreurs dans votre journal? –

Répondre

1

Votre activité dans le manifeste devrait ressembler à ceci:

<activity android:name="ActivityClassName" 
      android:label="label" 
    <intent-filter> 
     <category 
      android:name="android.intent.category.DEFAULT" /> 
     <action 
      android:name="my.package.ACTIVITY_NAME" /> 
    </intent-filter> 
</activity> 

Vous pouvez alors commencer comme ceci:

Intent intent = new Intent("my.package.ACTIVITY_NAME");    
startActivity(intent); 

Pour obtenir plus d'aide après le manifeste et l'exception que vous obtenir, lorsque l'application se bloque. Vous pouvez le voir dans la perspective de débogage d'Eclipse, dans la vue LogCat.

+0

ERROR/AndroidRuntime (279): java.lang.SecurityException: Permission Denial: début Intent {cmp = com.apps.math/.Subtract} à partir de ProcessRecord {43fb72f8 279: com.apps.math/10032} (pid = 279, uid = 10032) nécessite android.permission.ACCESS_CHECKIN_PROPERTIES C'est ce que j'obtiens dans LogCat, après le message "Fatal Error". Je peux poster le manifeste si cela peut aider. – Foxvog

0

Vous ne pouvez pas appeler startActivity sur OnClickListener. vous devez l'appeler sur votre objet de contexte d'application ou objet d'activité.

Button add = (Button) findViewById(R.id.add); 
Context ctx=this; 
add.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     Intent addIntent = new Intent(view.getContext(), Add.class); 
     ctx.startActivity(addIntent); 
    } 
});

Questions connexes