2010-11-23 38 views
0

J'ai une classe onClickListener privée avec une instruction switch pour everybuttonPuis-je appeler une méthode sur un clic de bouton via une intention?

Certains boutons, comme revenir à mon menu principal, permettez-moi d'avoir une intention, parce que le menu principal est appelé dans la définition de la classe dans la onCreate() comme ceci:

//return to main menu 

case R.id.return_main: 
       Intent intent = new Intent(main.this, main.class); 
       startActivity(intent); 
       finish(); 

Mais comment puis-je créer une activité (sur un appel bouton) quand je veux accéder à une méthode qui est aussi dans la classe que je suis?

Je ne peux pas faire:

case R.id.snap_another: 

Intent intentCam = new Intent(main.openCamera(), main.class); 
    startActivity(intentCam); 
finish(); 

Fondamentalement, je dois être capable de tuer la dernière mise en page l'utilisateur a été montré quand il a appelé openCamera() la première fois. Puis-je finir(); ou est-ce que je dois en quelque sorte en faire une intention?

Répondre

1

Vous n'avez pas besoin d'appeler une intention pour exécuter des méthodes de la classe parente.

appellent simplement cette méthode comme celui-ci

main.this.openCamera(); 

et vous pouvez utiliser l'appel finish() également si vous voulez quitter l'activité actuelle

+0

Impressionnant! Je vous remercie! Que se passerait-il si j'avais un bouton sur mon menu principal qui montrait l'instance précédente de ce qui s'était passé après l'appel d'openCamera()? IE: le dernier état de la mise en page que j'ai affiché à l'utilisateur, mais seulement être en mesure d'afficher cela? – Sapp

+0

Vous n'avez pas besoin de la finition dans ce cas, et démarrez le camere via startActivityForResult() et une fois terminé, vous reviendrez à l'activité de l'appelant. – Pentium10

+0

bien je prends une photo, et place l'image sur une linearlayout (définie comme un enfant) dans une vue flipper ... puis-je appeler cette dernière mise en page spécifiquement dans mon menu principal? Ou est-il tué quand je suis de retour à mon écran principal? – Sapp