2012-05-01 1 views
0

J'ai une méthode qui est appelée lorsque l'utilisateur frappe mon bouton de création, cela appelle un nom de méthode createEntry(); Dans cette méthode, il passe plusieurs contrôles et renvoie des toasts ou des erreurs selon le résultat, quand il fonctionne le résultat correct, il me ramène toujours à mon activité à la maison, mais je veux qu'il reste sur l'écran actuel s'il y a une erreur, comment puis-je faire cela?Android onClick() assistance avec l'appel de méthode

Quelqu'un peut-il me donner une aide à cette s'il vous plaît

public void onClick(View v) { 
    switch (v.getId()) { 
    case R.id.create_button: 
     Intent i = new Intent(this, Home.class); 
        createEntry();// this is where my error checking is done so what I would like to know is how can i stay on the current screen for certain errors 
     startActivity(i); 
     break; 
} 
} 

    } 

je ne veux pas charger la classe d'accueil s'il y a une erreur, je veux qu'il reste sur l'écran actuel.

+0

S'il vous plaît afficher le code correspondant et des erreurs de LogCat. Sans exemple, nous n'avons aucune idée de ce que signifie «rester sur l'écran actuel»; activité, dialogue, viewflipper, etc – Sam

+0

il n'y a pas d'erreur, ce que je dis est une fois les boutons cliquez comment puis-je rester sur l'écran actuel s'il y a une erreur plutôt aller à mon écran d'accueil posté mon onClick dessus –

Répondre

0

Je devine que vous devez retourner un booléen pour savoir si vous avez des erreurs à corriger:

if(createEntry() == true) { 
    Intent i = new Intent(this, Home.class); 
    startActivity(i); 
} 
+0

ouais fait sens –

0

Votre createEntry() doit retourner un booléen qui repesents si une erreur est survenue ou non. Avec cela vous pouvez indiquer si vous devriez commencer la nouvelle activité ou non.

public void onClick(View v) { 
    switch (v.getId()) { 
     case R.id.create_button: 
      if (createEntry()) { // return true for no errors 
       Intent i = new Intent(this, Home.class); 
       startActivity(i); 
      } 
      break; 
    } 
} 
0

Vérifiez les erreurs et revenir de la méthode le cas échéant se trouvent:

if (!createEntry()) return;